【问题标题】:How to fix com.android.builder.internal.aapt.AaptException: Failed to crunch file?如何修复 com.android.builder.internal.aapt.AaptException:无法处理文件?
【发布时间】:2017-01-29 23:33:03
【问题描述】:

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

错误:com.android.builder.internal.aapt.AaptException:失败 紧缩文件 H:..pathTo..\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\24.2.1\res\drawable-xhdpi-v4\abc_list_selector_disabled_holo_light.9.png

进入

H:..pathTo..\app\build\intermediates\res\merged\debug\drawable-xhdpi-v4\abc_list_selector_disabled_holo_light.9.png

这是什么意思?我该如何解决?

构建日志: https://jpst.it/NCnu

【问题讨论】:

标签: android android-studio


【解决方案1】:

将你的 gradle 更新到最新的,它解决了问题,我也面临同样的问题,它对我有用。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      我通过创建一个全新的项目解决了这个问题,并复制了每个文件并进行了最轻微的修改,例如更改包名称,但我保留了图标,因此我没有像在上一个项目中那样在几个文件中添加新图标。

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

      【讨论】:

        【解决方案4】:

        对我有帮助的解决方案是删除node_modules 文件夹, 通过运行命令 ionic platform remove android 删除 android 平台 然后转到系统层次结构中的项目文件夹的上层 然后:

        npm install
        ionic platform add android
        ionic run android
        

        【讨论】:

          【解决方案5】:

          我发现了同样的错误(错误:com.android.builder.internal.aapt.AaptException: Failed to crunch)。我复制了上一级的目录。它有效!

          【讨论】:

            【解决方案6】:

            有一个解决方法。如果将以下内容添加到项目 build.gradle 文件中的 allprojects 部分,它会将构建输出文件移动到此文件夹。这意味着应用程序现在将构建。:

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

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

            【讨论】:

            • 我使用了变体:if (System.properties['os.name'].toLowerCase().contains('windows')) { def systemDrive = System.getenv("SystemDrive") buildDir = "${systemDrive}/tmp/${rootProject.name}/${project.name}" },它在非 Windows 机器上应该是良性的,当主驱动器不是 C: 时也可以。 (如果我能弄清楚如何正确格式化,我会更开心!)
            【解决方案7】:

            太棒了。现在是 2016 年,Google 的工具链仍然存在这些烦人的文件路径限制。

            Error: File path too long on windows, keep below 240 characters

            将项目移到你的项目文件路径上,问题就消失了!

            【讨论】:

            • 其他操作系统有这个问题吗?是否仅适用于 NTFS,其他文件系统是否有此问题?
            • 我不知道。也许
            • 错误似乎很模糊,我几乎没有谷歌它。同意,不敢相信这个问题仍然存在。你是救生员。
            • 很棒的想法@user1884325
            • 我将我的 projet 移动到 C:Android 并且我不得不重命名我的 Projet 文件夹的名称,该名称太长了。泰
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2022-10-20
            • 1970-01-01
            • 2019-08-21
            • 1970-01-01
            • 1970-01-01
            • 2016-09-10
            • 2017-02-21
            相关资源
            最近更新 更多