Gradle错误Android资源链接失败

Posted

技术标签:

【中文标题】Gradle错误Android资源链接失败【英文标题】:Gradle error Android Resource linking Failed 【发布时间】:2019-05-09 15:47:53 【问题描述】:

所以一切都很完美,当我去编辑一些 .xml 文件并构建项目时,现在我收到一个 gradle 错误,上面写着:

android 资源链接失败输出: H:\AndroidProjects\Codify\app\src\main\res\layout\activity_app_setup.xml:19: 错误:资源可绘制/工具栏背景(又名 com.femindharamshi.spa:drawable/toolbarbackground) 未找到。 H:\AndroidProjects\Codify\app\src\main\res\layout\content_main.xml:20: 错误:资源可绘制/工具栏背景(又名 com.femindharamshi.spa:drawable/toolbarbackground) 未找到。 H:\AndroidProjects\Codify\app\src\main\res\layout\content_main.xml:34: 错误:资源可绘制/菜单(又名 com.femindharamshi.spa:drawable/menu) 未找到。 H:\AndroidProjects\Codify\app\src\main\res\layout\dialog_layout.xml:9: 错误:资源drawable/dialog_item(又名 com.femindharamshi.spa:drawable/dialog_item) 未找到。 H:\AndroidProjects\Codify\app\src\main\res\layout\dialog_layout.xml:17: 错误:资源可绘制/程序员(又名 com.femindharamshi.spa:drawable/programmer) 未找到。 H:\AndroidProjects\Codify\app\src\main\res\layout\dialog_layout.xml:37: 错误:资源drawable/dialog_item(又名 com.femindharamshi.spa:drawable/dialog_item) 未找到。 H:\AndroidProjects\Codify\app\src\main\res\layout\dialog_layout.xml:45: 错误:资源drawable/youtube(又名 com.femindharamshi.spa:drawable/youtube) 未找到。 H:\AndroidProjects\Codify\app\src\main\res\layout\dialog_layout.xml:65: 错误:资源drawable/dialog_item(又名 com.femindharamshi.spa:drawable/dialog_item) 未找到。 H:\AndroidProjects\Codify\app\src\main\res\layout\dialog_layout.xml:73: 错误:资源可绘制/会议(又名 com.femindharamshi.spa:drawable/meeting) 未找到。 H:\AndroidProjects\Codify\app\src\main\res\layout\fragment_code.xml:15: 错误:资源可绘制/标签背景(又名 com.femindharamshi.spa:drawable/tagbackground) 未找到。 H:\AndroidProjects\Codify\app\src\main\res\layout\tag_layout.xml:12: 错误:资源可绘制/标签背景(又名 com.femindharamshi.spa:drawable/tagbackground) 未找到。 H:\AndroidProjects\Codify\app\src\main\res\layout\video_layout.xml:17: 错误:资源可绘制/播放(又名 com.femindharamshi.spa:drawable/play) 未找到。 H:\AndroidProjects\Codify\app\src\main\res\menu\activity_main_drawer.xml:7: 错误:资源可绘制/下载(又名 com.femindharamshi.spa:drawable/download) 未找到。 H:\AndroidProjects\Codify\app\src\main\res\menu\activity_main_drawer.xml:15: 错误:资源可绘制/设置(又名 com.femindharamshi.spa:drawable/settings) 未找到。 H:\AndroidProjects\Codify\app\src\main\res\menu\activity_main_drawer.xml:19: 错误:资源可绘制/报告(又名 com.femindharamshi.spa:drawable/report)未找到。 H:\AndroidProjects\Codify\app\src\main\res\menu\activity_main_drawer.xml:27: 错误:资源drawable/ic_menu_share(又名 com.femindharamshi.spa:drawable/ic_menu_share) 未找到。错误: 链接文件资源失败。

命令:C:\Users\Femin Dharamshi.gradle\caches\transforms-1\files-1.1\aapt2-3.2.1-4818971-windows.jar\d614b8b16e66b30fe0890919a84f61db\aapt2-3.2.1-4818971-windows\aapt2.exe 链接-我\ C:\Users\Femin Dharamshi\AppData\Local\Android\Sdk\platforms\android-28\android.jar\ - 显现\ H:\AndroidProjects\Codify\app\build\intermediates\merged_manifests\debug\processDebugManifest\merged\AndroidManifest.xml\ -o\ H:\AndroidProjects\Codify\app\build\intermediates\processed_res\debug\processDebugResources\out\resources-debug.ap_\ -R\ @H:\AndroidProjects\Codify\app\build\intermediates\incremental\processDebugResources\resources-list-for-resources-debug.ap_.txt\ --自动添加覆盖\ --java\ H:\AndroidProjects\Codify\app\build\generated\not_namespaced_r_class_sources\debug\processDebugResources\r\ --自定义包\ com.femindharamshi.spa\ -0\ APK\ --输出文本符号\ H:\AndroidProjects\Codify\app\build\intermediates\symbols\debug\R.txt\ --no-version-vectors 守护进程:AAPT2 aapt2-3.2.1-4818971-windows 守护进程#0

但我没有编辑任何会导致此问题的 xml 文件,并且您可以在屏幕截图中清楚地看到,Android Studio 告诉“未找到”的所有文件都存在

是什么导致了这个突然的问题,我该如何解决? 我检查了我所有的实现库都是最新的,并且没有在线解决方案有帮助!

编辑:我将所有文件从 drawable 文件夹转移到 drawable-v24 文件夹,它解决了这个问题。我真的不明白是什么导致了这个问题,因为之前一切都运行良好,突然这个问题也通过传输文件奇怪地解决了,但是如果它们在可绘制文件夹中,它没有给出问题

【问题讨论】:

问题不在于实现或gradle文件。 / 能不能把你项目的Gradle,Build,.idea文件删掉再做Rebuild项目。 否则 -> 转到文件菜单 -> 点击 Invalidate cache / Restart 。 找不到无效缓存!它到底在哪里,它不在文件下 点击右上角的文件选项->使缓存无效/重新启动。 【参考方案1】:

我刚刚遇到了一个非常相似的问题。

检查您是否可以在项目的 java 子文件夹之一中找到资源文件“R”。听起来好像无法确定资源文件的位置。如果您找不到它,它可能会被删除,这可能是链接错误的原因。就我而言,它在我创建 Google 地图活动时被删除。

如果找不到:尝试:Build -> Clean Project 清理 gradle 文件

或者:File->Invalidate Caches然后将项目与 gradle 文件同步

试一试,看看它是否有任何改变。它可以恢复资源文件。如果没有,我建议创建一个新项目并将代码从“旧”项目复制并粘贴到新项目中。这样,您可以确保资源文件已恢复,并且应该消除链接错误。您必须再次创建所有 xml 文件和 java 类,但根据项目的大小,它可能比尝试恢复资源文件更快。

【讨论】:

以上是关于Gradle错误Android资源链接失败的主要内容,如果未能解决你的问题,请参考以下文章

消息“错误:资源 android:attr/lStar 未找到”

Android Gradle Manifest 合并失败

“找不到资源”错误Android gradle构建.gradle / caches中的文件

构建时 Android Manifest 出现错误

我无法通过“Android 资源链接失败”错误

科尔多瓦错误构建项目:Android资源链接失败