如何修复com.android.builder.internal.aapt.AaptException:无法处理文件?

如何修复com.android.builder.internal.aapt.AaptException:无法处理文件?,android,android-studio,Android,Android Studio,我有最新版本的Android Studio(截至2016年9月21日)。当我在Android Studio中创建一个全新的项目并尝试构建它时,我遇到了以下构建错误: 错误:com.android.builder.internal.aapt.AaptException:未能 压缩文件 H:…路径到..\app\build\intermediates\exploded aar\com.android.support\appcompat-v7\24.2.1\res\drawable-xhdpi-v4\

我有最新版本的Android Studio(截至2016年9月21日)。当我在Android Studio中创建一个全新的项目并尝试构建它时,我遇到了以下构建错误:

错误:com.android.builder.internal.aapt.AaptException:未能 压缩文件 H:…路径到..\app\build\intermediates\exploded aar\com.android.support\appcompat-v7\24.2.1\res\drawable-xhdpi-v4\abc\u列表\u选择器\u禁用\u holo\u light.9.png

进入

H:…路径到..\app\build\intermediates\res\merged\debug\drawable-xhdpi-v4\abc\u列表\u选择器\u禁用\u holo\u light.9.png

这是什么意思?我该如何修复它

生成日志:
太棒了。2016年,谷歌的工具链仍然存在这些恼人的文件路径限制


将项目进一步向上移动到项目文件路径,问题就会消失

有一个解决办法。如果将以下内容添加到project build.gradle文件中,则在allprojects部分中,它会将生成输出文件移动到此文件夹中。这意味着应用程序将立即生成:

buildDir = "C:/tmp/${rootProject.name}/${project.name}"

它确实在项目根目录下为您提供了一个附加的应用程序模块,但这是一个比移动整个项目文件夹路径更方便的选项

我发现了相同的错误(错误:com.android.builder.internal.aapt.AaptException:Failed to crunch)。我把目录复制了一级以上。它起作用了

帮助我的解决方案是删除
node\u modules
文件夹, 通过运行命令来删除android平台 然后转到system hirarchy中的项目文件夹上方 然后:

npm install
ionic platform add android
ionic run android

我在Android Studio IDE 3.0中尝试使用Gradle生成未签名的apk时遇到了这个问题

我通过创建一个新项目解决了这个问题,并复制了每个文件,只需稍加修改,例如更改包名,但我保留了图标的原样,因此我没有像在上一个项目中那样在多个文件中添加新图标

问题解决了,它构建时没有这样的错误。
(但是,在app\build\outputs\apk中找不到生成的apk文件,而是在app\build\outputs\apk\debug中,但我希望这是另一个不太重要的问题)。

我遇到了类似的错误。只需通过向上移动项目文件夹来减少路径长度。
这肯定会解决问题。

将您的gradle更新为最新版本,它解决了问题,我也面临同样的问题,它对我有效

我使用的是类路径'com.android.tools.build:gradle:2.0.0',然后替换为
classpath'com.android.tools.build:gradle:3.0.0',它适合我。

其他操作系统有这个问题吗?是不是只有NTFS,其他文件系统也有这个问题?我不知道。MaybeError看起来很晦涩,我几乎没用谷歌搜索它。同意,不敢相信这个问题仍然存在。你是个救命恩人。很棒的想法@user1884325我把我的projet移到了C:Android,我不得不重命名我的projet文件夹的名称,因为它太长了。TyI遇到了同样的问题,这是一个更好的解决方案,我使用了变体:
if(System.properties['os.name'].toLowerCase().contains('windows')){def systemDrive=System.getenv(“systemDrive”)buildDir=“${systemDrive}/tmp/${rootProject.name}/${project.name}}”
在非Windows计算机上应该是良性的,并且在主驱动器不是C:时是正常的。(如果我能想出正确的格式,我会更高兴!)