你绝对想不到R文件找不到(cannot resolve symbol R)的原因

简介: 你绝对想不到R文件找不到(cannot resolve symbol R)的原因 最近在项目开发中 Android Studio 的 R 文件突然找不到了。IDE 中出现了以下提示 cannot resolve symbol R Clean And Rebuild 一般来说看...

你绝对想不到R文件找不到(cannot resolve symbol R)的原因

最近在项目开发中 Android Studio 的 R 文件突然找不到了。IDE 中出现了以下提示

cannot resolve symbol R

cannot resolve symbol R

Clean And Rebuild

一般来说看到这个错误随便 Google baidu 回来的答案无非就是

clean -> rebuild 工程

而我的本能反应也是如此
然而一点用都没有!
wtf

资源id冲突

虽然整个工程涉及到 R 文件都无法找到,但是跑起来却是正常,完全没有错误提示的迹象!
然后就是想是不是资源文件中的 id 冲突了,项目一定存在重复资源!于是从工程项目中找重复的资源,包括库项目。
这下真的找到了两个库,而且引用了相同的资源!
资源冲突
于是哥就将这两个库给合并了,去掉重复的资源。心里满怀着胜利的喜悦,重新执行

clean -> rebuild 工程

然而下面的这个红色提示似乎阴魂不散!
cannot resolve symbol R 似乎高举红旗在向自尊心极强的程序猿挑衅啊!
cannot resolve symbol R
这下哥就懵逼了!
mengb

万恶的 R 文件

虽说这个 R 文件飘红不会影响项目运行,但是严重影响搬砖的效率和心情啊!
于是就翻开项目 app 目录下的 build 文件看看项目中是否生成了 R 文件
R生成
在这个目录下是可以找到生成的 R 文件的。然后打开看到了 R 文件顶部有一句提示

File size exceeds configured limit (2560000). Code insight features are not available.

cannot resolve symbol R
原来工程项目一直都扩张导致 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。
当然这个配置修改了也会编辑器的速度造成一定的影响,但是先把问题解决了。
重启后项目就正常了,红色的提示语终于消失。程序猿的天空也明朗了起来。
shuai

微信关注我们,可以获取更多

目录
相关文章
|
4月前
|
缓存 Java Maven
IntelliJ IDEA中无法加载jar包导致出现“cannot resolve symbol...”问题的解决
IntelliJ IDEA中无法加载jar包导致出现“cannot resolve symbol...”问题的解决
158 0
java——成功解决cannot resolve symbol ‘xxx’
java——成功解决cannot resolve symbol ‘xxx’
|
Linux
内核模块的文件格式与EXPORT_SYMBOL的实现
内核模块的文件格式与EXPORT_SYMBOL的实现
126 0
|
IDE 开发工具
Cannot resolve symbol ‘lombok‘
Cannot resolve symbol ‘lombok‘
412 0
|
缓存 Java 编译器
IDEA Cannot Resolve Symbol 问题的解决方法汇总
IDEA Cannot Resolve Symbol 问题的解决方法汇总
1442 0
|
6月前
|
JavaScript 前端开发
ES6:什么是Symbol?
ES6:什么是Symbol?
74 1
|
6月前
ES6之Symbol
ES6之Symbol
|
6月前
|
JavaScript 前端开发
|
6月前
|
JavaScript 前端开发 开发者
|
2天前
|
设计模式 JavaScript 前端开发
es6加上symbol的基础数据类型
【10月更文挑战第30天】ES6 中的 `Symbol` 作为一种新的基础数据类型,为 JavaScript 提供了一种创建唯一标识符和处理对象属性名冲突的有效方式,丰富了 JavaScript 的数据类型体系和编程模式,在实际开发中具有重要的应用价值。