R文件爆红解决方案

最近经常切换项目时,导致项目总会R文件爆红;
并且R文件爆红的情况下,项目也可以运行;
现总结一下R文件爆红的解决方案:

R文件爆红,项目不可运行

这种的错误就好办了,关键查看各种信息即可;

  • 查看AS 底部 Build的output的error ,修改后MakeProject或者ReBuildProject即可;
  • 如果build output 没有 error,则使用gradlew命令行,选择错误的task执行命令即可;
    • gradlew :xxx:xxxxxTask --stacktrace --debug (–info 可选) ,执行命令后报错查看打印信息,查看哪行报错;
    • 在打印信息中,搜索关键字 如aapt错误等;
  • 也有可能是因为布局中 该使用@+id/的地方表示,但是使用了@id/ 表示报错;
  • 如果是依赖包有问题,也可使用gradlew命令,然后在除去那种依赖即可;
    • gradlew dependencies 查看依赖树;

R文件爆红,项目可以运行

这种的就比较麻烦了,不是代码的原因,而是工具的原因;

  • 首先使用网上的R文件超出容量,设置AS头部Help -> Edit Custom Properties -> 设置idea.max.intellisense.filesize=50000,然后重启As;

  • 其实上面那个,我这边没有什么用,可以尝试android 安装目录下的bin目录中的idea.properties中 寻找 上面的参数并修改重启;
    R文件爆红解决方案

  • 上面的其实都没有解决我的问题,其实R文件报错但项目能运行是因为gradle和as不匹配,我是通过升级android studio 3.2 至android studio 3.5 就解决了问题;

    • 之前以为是gradle 版本和gradle plugin不兼容导致的,测试了一堆gradle wrapper 和gradle plugin的组合并没有解决问题; 此处贴一张官网图的配置;
      R文件爆红解决方案

因此,发生R文件爆红且项目可以运行,可以升级as试试; R文件爆红项目运行不了,这个就需要先保证项目可以运行了;所以,还是写段代码测一下比较好,我就是因为android编译慢,写一堆后再测试,导致出现这种问题时排查比较慢;