文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android resource linking failed (全网最详细,最全面的解决方案)

2023-09-24 06:53

关注

这个错误我可能已经遇到N次了。通常情况下,这个错误非常的棘手,因为根本不知道是什么原因导致的。在这个错误上面浪费了非常多的时间,所以我的目标是彻底消灭这个错误,遇到这个错误的时候能够快速解决。下面的解决方案都是我遇到或者网上比较有用的解决方案。

系统环境:
我AS版本是3.6.1。

0.错误原因

要解决错误要先明白错误的原因是什么。从这个错误的描述可以知道这个错误是因为资源链接错误。最明显的原因就是你的xml确实有问题,错误直接指向你出错的地方,这种情况非常简单,修改错误的地方就行。如下面的错误,直接指向特定的xml,而且这个文件是我写的,xml里面直接红线错误,直接修改就行。
在这里插入图片描述

但出现这个错误的大部分情况都是不知道是什么原因,这是这个错误最让人头疼的地方。例如下面的错误。下面的信息有两点是有用的,一是路径是本地gradle(不是AS的里面.gradle)的缓存路径./gradle/caches。至于transforms-2这个目录可以不太关心,有时可能报别的目录。还有一个有用的信息是core-1.7.0。这个包是androix的核心包,这个信息是非常有用的,错误是发生在androidx上面,这已经帮我们大大缩小范围。
在这里插入图片描述
使用代码获取详细信息:

上图的信息可能不够全面,而且不好复制粘贴错误,可以用下面的代码获取详细信息:

 ./gradlew build --stacktrace  

可以分析错误信息获取有用的信息。

1.通常(通用)解决方案:删除cache

这个错误有可能由于缓存的原因造成奇怪的错误。下面的错误信息是不固定的,报的路径是.gradle/caches/transforms-2,报哪个路径就删哪个。把AS的build和AS的.gradle同时删除,然后invaild and restart。有可能就可以解决错误。
在这里插入图片描述
如果这种方式没有效果,那么就要考虑下面具体的问题。

2.具体一:SDK问题

compileSdkVersion和buildToolsVersion的大版本要保持一致,例如compileSdkVersion是28,那么buildToolsVersion一定要是28.xx.xx。不一致会报这个错误。

compileSdkVersion 28buildToolsVersion "28.0.3"

3.具体二:appcompat导致的问题(版本问题)

例如下面这个错误。由于库的版本问题导致的错误。
在这里插入图片描述
虽然我们可以分析出core-1.7.0是androidx的核心库。但还是不知道具体是什么原因。这是我实际遇到的,最后发现是appcompat的版本问题导致的。原来使用的是1.4.1版本,这个版本太高了,换成1.2.0就可以了。constraintlayout虽然不是这个问题的原因,但是这个版本太高会导致预览没有效果。

implementation 'androidx.appcompat:appcompat:1.2.0'implementation 'androidx.constraintlayout:constraintlayout:2.0.4'

版本回调技巧:
先回调大版本再调小版本。例如2.0.0直接改为1.0.0,再1.1.0,1.2.0这样调,如果是版本问题,很快就可以解决。

具体三:任意库(实际无关)导致的问题

解决的思路都是类似的。以下面的错误为例子。出问题的库是material-1.6.0,在gradle里面引用了这个库,但我在代码里面没有用过这个库相关的类。这个错误实际上是莫名其妙的,因为我之前用的好好的,重新打开AS就莫名其妙出问题了。如果你没有使用这个库的类,解决办法就是把material-1.6.0这个库在gradle里面去除引用。别的错误处理都是类似的,关键是根据出问题的库缩小处理范围。

.gradle/caches/transforms-2/files-2.1/56dee953d5284ac3fce000007c35f379/material-1.6.0/res/values-v31/values-v31.xml:3:5-

但是去除引用虽然解决问题了,我就想用这个库该怎么办呢?实际上还是版本问题。把1.6.0改成1.2.0版本就可以解决了。

总结

除了compileSdkVersion和buildToolsVersion的版本问题外,绝大部分原因都是引用库的版本问题,根据出问题的库回调版本就可以。

如果没有解决问题欢迎评论留言。

如果解决问题了,节省了你的时间 希望点赞三连!
如果解决问题了,节省了你的时间 希望点赞三连!
如果解决问题了,节省了你的时间 希望点赞三连!

来源地址:https://blog.csdn.net/ScottePerk/article/details/124405230

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯