Android 项目 引用了第三方aar 同步成功 但是编译时报错 跟这个aar 相关的类全部飘红

遇到个奇怪的问题 记录一下:

以下开始废话解决办法在最后面:

有个项目能正常编译运行 ,几天没有打开过,今天一打开那个aar相关的类找不到了 aar还在,然后我做了一下无用工作:

  1. 把项目下的.idea、.gradle、还有各个模块的build目录全部删除 再编译 还是报错
  2. 把代码commit一下,结果发现没有改动过任何文件,然后我又把每个模块删了 再重新往svn拉代码,还是报错
  3. 创建另外一个目录把代码checkout进去 编译 正常运行,把原来报错的目录名字更改,重新打开项目编译 正常运行
  4. 把步骤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了,其他目录不建议删,删了的话需要重新下载很多东西

你可能感兴趣的:(note,android)