android studio 缓存问题 导致的库依赖不了

android studio 缓存问题导致的库依赖不了

先感谢此作者 深踩 AndroidStudio 缓存的坑;

问题描述

前提是先前依赖的三方库,之前测试完全没得问题;
后面因为种种原因,在sync project时,某些类就直接爆红,找不到了,就跟没有导入的类效果一样;

问题解决

首先以为是仓库原因,进入mavencenter 仓库看了下肯定是有的嘛;

然后看看本地的仓库是否存在此包,进入到C:\Users\android\.gradle\caches文件夹中,再进入到module-2/files-2.1中,发现安装包是存在的 (惊讶脸!!) 那就是你androidstudio的问题了;

最后幸好看了那篇blog,不用踩后续的坑了,最后的解决办法为:

退出 Android Studio,删除所有的 .iml 文件以及 .idea 目录,打开 Android Studio 重新导入项目。

原因分析

原因可能就是本地仓库的transforms的序号跟project的.ideaxml文件的序号对不上导致本地有文件,但是没法引用某些内依赖包; 采用原作者的说法为:

原来是在 .idea/libraries 里会记录每一个第三方库的 classes, javadoc 以及 sources 所对应的路径。
其中 classes 对应的正是前面所提到的 transforms-1 里的目录,同样也正如前面所说,其中包含的路径是有 hash 值的,更新了依赖之后,hash 值不同,新的缓存路径也就不同了,
而这里还是用的原来被删的那个路径,找不到对应的文件当然编辑器里就提示 cannot resolve symbol 了。
所以正确而直接的解决方案应该是删除 .idea/libraries/ 里对应该第三方库的 xml 文件让它重新生成,或者是直接修改该 xml 文件的内容,改为更新依赖之后的路径。

发布了46 篇原创文章 · 获赞 3 · 访问量 5091
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章