你絕對想不到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。
當然這個配置修改了也會編輯器的速度造成一定的影響,但是先把問題解決了。
重啟后項目就正常了,紅色的提示語終於消失。程序猿的天空也明朗了起來。
微信關注我們,可以獲取更多