遇到个奇怪的问题 记录一下:
以下开始废话,解决办法在最后面:
有个项目能正常编译运行 ,几天没有打开过,今天一打开那个aar相关的类找不到了 aar还在,然后我做了一下无用工作:
- 把项目下的.idea、.gradle、还有各个模块的build目录全部删除 再编译 还是报错
- 把代码commit一下,结果发现没有改动过任何文件,然后我又把每个模块删了 再重新往svn拉代码,还是报错
- 创建另外一个目录把代码checkout进去 编译 正常运行,把原来报错的目录名字更改,重新打开项目编译 正常运行
- 把步骤3更改的目录名恢复成没改之前的名字 打开项目编译 报错
居然只跟项目目录名字有关,奇了怪了,虽然可以通过更换目录解决问题,这nm是啥破问题 ,太气人了,必须要解决它,找到问题根源:
根据上面推断,这已经不是项目级别得问题了,一定是每个项目都会共用的缓存之类的文件有问题 ,很明显 ,可以想到Idea 、gradle这两个东西的缓存目录是公用(全局)的,至于Idea ,如果出错不可leng单单是一个库出错 ,所有的aar都会报错,那么就可以找到gradle的全局目录了,一搬在系统的用户目录下有个.gradle目录 这里面包含有各种包的缓存数据,最终经过我精确推断分析,相关的文件夹大概两个分别在以下位置:
user\xxx\.gradle\caches\transforms-1
user\xxx\.gradle\caches\transforms-1
在这里发现有那个aar的缓存文件夹,直接删掉,再打开项目同步-->编译 ,正常运行 ,nm、解决了
好了,废话说完了,解决办法是:
把
user\xxx\.gradle\caches\transforms-1
user\xxx\.gradle\caches\transforms-1
这两个目录删掉就ok了,其他目录不建议删,删了的话需要重新下载很多东西