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

本文介绍了在Android开发中遇到R文件找不到的问题及解决方法。通过调整IDE配置限制,成功解决了因R文件过大而导致的无法解析符号R的问题。

你绝对想不到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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值