你絕對想不到R文件找不到(cannot resolve symbol 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

微信關注我們,可以獲取更多


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM