首页 > 解决方案 > Android Studio 构建失败:Android 资源链接失败,未能创建目录 C:\tmp\

问题描述

我从 Udacity 开发 Android 应用程序课程中打开了第一个练习项目,但它不会开始 - 构建失败并显示:

Android resource linking failed
Output:  W/ResourceType(10956): For resource 0x0101053d, entry index(1341) is beyond type entryCount(1329)
W/ResourceType(10956): For resource 0x0101053e, entry index(1342) is beyond type entryCount(1329)
W/ResourceType(10956): For resource 0x0101053b, entry index(1339) is beyond type entryCount(1329)
W/ResourceType(10956): For resource 0x0101053c, entry index(1340) is beyond type entryCount(1329)
error: failed to create directory 'C:\tmp\T01.01-Exercise-CreateLayout\app\generated\not_namespaced_r_class_sources\debug\processDebugResources\r\com\example\android\favoritetoys'.

Command: C:\Users\anonymous\.gradle\caches\transforms-1\files-1.1\aapt2-3.2.1-4818971-windows.jar\ab73a7122ce318e598c11600c6ce167a\aapt2-3.2.1-4818971-windows\aapt2.exe link -I\
        C:\Users\anonymous\AppData\Local\Android\Sdk\platforms\android-25\android.jar\
        --manifest\
        C:\tmp\T01.01-Exercise-CreateLayout\app\intermediates\merged_manifests\debug\processDebugManifest\merged\AndroidManifest.xml\
        -o\
        C:\tmp\T01.01-Exercise-CreateLayout\app\intermediates\processed_res\debug\processDebugResources\out\resources-debug.ap_\
        -R\
        @C:\tmp\T01.01-Exercise-CreateLayout\app\intermediates\incremental\processDebugResources\resources-list-for-resources-debug.ap_.txt\
        --auto-add-overlay\
        --java\
        C:\tmp\T01.01-Exercise-CreateLayout\app\generated\not_namespaced_r_class_sources\debug\processDebugResources\r\
        --custom-package\
        com.example.android.favoritetoys\
        -0\
        apk\
        --output-text-symbols\
        C:\tmp\T01.01-Exercise-CreateLayout\app\intermediates\symbols\debug\R.txt\
        --no-version-vectors
Daemon:  AAPT2 aapt2-3.2.1-4818971-windows Daemon #0

重新安装 SDK 无济于事,无效缓存/重启选项也无济于事。


应用程序版本:Android Studio 3.4.1 Build #AI-183.6156.11.34.5522156,于 2019 年 5 月 1 日构建 JRE:1.8.0_152-release-1343-b01 amd64 JVM:JetBrains sro Windows 10 10.0 的 OpenJDK 64 位服务器 VM

标签: androidandroid-studiogradle

解决方案


根据 HasanElHefnawy 在课程 github 上的评论

更新 gradle 版本后会出现此问题。在这种情况下,必须删除 build.gradle 顶级项目文件中的以下代码行。只有旧的 gradle 版本才需要它们。

所以解决方案只是简单地从build.gradle文件中删除这些行:

String osName = System.getProperty("os.name").toLowerCase();
if (osName.contains("windows")) {
buildDir = "C:/tmp/${rootProject.name}/${project.name}"
}

推荐阅读