这个错误我可能已经遇到N次了。通常情况下,这个错误非常的棘手,因为根本不知道是什么原因导致的。在这个错误上面浪费了非常多的时间,所以我的目标是彻底消灭这个错误,遇到这个错误的时候能够快速解决。下面的解决方案都是我遇到或者网上比较有用的解决方案。
系统环境:
我AS版本是3.6.1。
要解决错误要先明白错误的原因是什么。从这个错误的描述可以知道这个错误是因为资源链接错误。最明显的原因就是你的xml确实有问题,错误直接指向你出错的地方,这种情况非常简单,修改错误的地方就行。如下面的错误,直接指向特定的xml,而且这个文件是我写的,xml里面直接红线错误,直接修改就行。

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

使用代码获取详细信息:
上图的信息可能不够全面,而且不好复制粘贴错误,可以用下面的代码获取详细信息:
./gradlew build --stacktrace
可以分析错误信息获取有用的信息。
这个错误有可能由于缓存的原因造成奇怪的错误。下面的错误信息是不固定的,报的路径是.gradle/caches/transforms-2,报哪个路径就删哪个。把AS的build和AS的.gradle同时删除,然后invaild and restart。有可能就可以解决错误。

如果这种方式没有效果,那么就要考虑下面具体的问题。
compileSdkVersion和buildToolsVersion的大版本要保持一致,例如compileSdkVersion是28,那么buildToolsVersion一定要是28.xx.xx。不一致会报这个错误。
compileSdkVersion 28
buildToolsVersion "28.0.3"
例如下面这个错误。由于库的版本问题导致的错误。

虽然我们可以分析出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的版本问题外,绝大部分原因都是引用库的版本问题,根据出问题的库回调版本就可以。
如果没有解决问题欢迎评论留言。
如果解决问题了,节省了你的时间 希望点赞三连!
如果解决问题了,节省了你的时间 希望点赞三连!
如果解决问题了,节省了你的时间 希望点赞三连!
在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
相信很多人在录制视频的时候都会遇到各种各样的问题,比如录制的视频没有声音。屏幕录制为什么没声音?今天小编就和大家分享一下如何录制音画同步视频的具体操作方法。如果你有录制的视频没有声音,你可以试试这个方法。 一、检查是否打开电脑系统声音相信很多小伙伴在录制视频后会发现录制的视频没有声音,屏幕录制为什么没声音?如果当时没有打开音频录制,则录制好的视频是没有声音的。因此,建议在录制前进行检查。屏幕上没有声音,很可能是因为你的电脑系统的声音被禁止了。您只需打开电脑系统的声音,即可录制音频和图画同步视频。操作方法:步骤1:点击电脑屏幕右下侧的“小喇叭”图案,在上方的选项中,选择“声音”。 步骤2:在“声
首先回顾一下拉格朗日定理的内容:函数f(x)是在闭区间[a,b]上连续、开区间(a,b)上可导的函数,那么至少存在一个,使得:通过这个表达式我们可以知道,f(x)是函数的主体,a和b可以看作是主体函数f(x)中所取的两个值。那么可以有, 也就意味着我们可以用来替换 这种替换可以用在求某些多项式差的极限中。方法: 外层函数f(x)是一致的,并且h(x)和g(x)是等价无穷小。此时,利用拉格朗日定理,将原式替换为 ,再进行求解,往往会省去复合函数求极限的很多麻烦。使用要注意:1.要先找到主体函数f(x),即外层函数必须相同。2.f(x)找到后,复合部分是等价无穷小。3.要满足作差的形式。如果是加
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主
我有一个应用程序正在从Ruby迁移到JRuby(由于需要通过Java提供更好的Web服务安全支持)。我使用的gem之一是daemons创建后台作业。问题在于它使用fork+exec来创建后台进程,但这对JRuby来说是禁忌。那么-是否有用于创建后台作业的替代gem/wrapper?我目前的想法是只从shell脚本调用rake并让rake任务永远运行......提前致谢,克里斯。更新我们目前正在使用几个与Java线程相关的包装器,即https://github.com/jmettraux/rufus-scheduler和https://github.com/philostler/acts
原始问题Letd(n)bedefinedasthesumofproperdivisorsofn(numberslessthannwhichdivideevenlyinton).Ifd(a)=bandd(b)=a,whereab,thenaandbareanamicablepairandeachofaandbarecalledamicablenumbers.Forexample,theproperdivisorsof220are1,2,4,5,10,11,20,22,44,55and110;therefored(220)=284.Theproperdivisorsof284are1,2,
我已经有很多两个值数组,例如下面的例子ary=[[1,2],[2,3],[1,3],[4,5],[5,6],[4,7],[7,8],[4,8]]我想把它们分组到[1,2,3],[4,5],[5,6],[4,7,8]因为意思是1和2有关系,2和3有关系,1和3有关系,所以1,2,3都有关系我如何通过ruby库或任何算法来做到这一点? 最佳答案 这是基本Bron–Kerboschalgorithm的Ruby实现:classGraphdefinitialize(edges)@edges=edgesenddeffind_maximum_
我正在阅读“Rails3Way”,在第39页,它显示了匹配:to=>重定向方法的代码示例。在该方法中存在以下代码。虽然我知道模对数字有什么作用,但我不确定下面的%是做什么的,因为路径和参数显然都不是数字。如果有人能帮助我理解%在这种情况下的用法,我将不胜感激。proc{|params|path%params} 最佳答案 这可能是String#%与其他语言中的sprintf非常相似的方法:'%05d'%10#=>"00010"它可以接受单个参数或数组:'%.3f%s'%[10.341412,'samples']#=>"10.341sa