你绝对想不到R文件找不到(cannot resolve symbol R)的原因
最近在项目开发中 Android Studio 的 R 文件突然找不到了。IDE 中出现了以下提示
cannot resolve symbol R
Clean And Rebuild
一般来说看到这个错误随便 Google baidu 回来的答案无非就是
clean -> rebuild 工程
而我的本能反应也是如此
然而一点用都没有!
资源id冲突
虽然整个工程涉及到 R 文件都无法找到,但是跑起来却是正常,完全没有错误提示的迹象!
然后就是想是不是资源文件中的 id 冲突了,项目一定存在重复资源!于是从工程项目中找重复的资源,包括库项目。
这下真的找到了两个库,而且引用了相同的资源!
于是哥就将这两个库给合并了,去掉重复的资源。心里满怀着胜利的喜悦,重新执行
clean -> rebuild 工程
然而下面的这个红色提示似乎阴魂不散!cannot resolve symbol R
似乎高举红旗在向自尊心极强的程序猿挑衅啊!
这下哥就懵逼了!
万恶的 R 文件
虽说这个 R 文件飘红不会影响项目运行,但是严重影响搬砖的效率和心情啊!
于是就翻开项目 app 目录下的 build 文件看看项目中是否生成了 R 文件
在这个目录下是可以找到生成的 R 文件的。然后打开看到了 R 文件顶部有一句提示
File size exceeds configured limit (2560000). Code insight features are not available.
原来工程项目一直都扩张导致 R 文件太大超出了配置大小,R 文件没有被 IDE 正确的生成 class 文件。
这下感觉找到了救命的稻草,肯定一把死死抓住不放。
救命的稻草
知道原因,解决方案就容易多了,打开 AS 目录下的 idea.properties
配置文件。
可以看到以下配置说明
Maximum file size (kilobytes) IDE should provide code assistance for.
The larger file is the slower its editor works and higher overall system memory requirements are
if code assistance is enabled. Remove this property or set to very large number if you need
code assistance for any files available regardless their size.
idea.max.intellisense.filesize=5000
idea.max.intellisense.filesize
默认为2500,这里修改为5000,然后重启 AS。
当然这个配置修改了也会编辑器的速度造成一定的影响,但是先把问题解决了。
重启后项目就正常了,红色的提示语终于消失。程序猿的天空也明朗了起来。
微信关注我们,可以获取更多