专栏首页终身开发者你绝对想不到R文件找不到(cannot resolve symbol R)的原因

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

当然这个配置修改了也会编辑器的速度造成一定的影响,但是先把问题解决了。

重启后项目就正常了,红色的提示语终于消失。程序猿的天空也明朗了起来。

本文分享自微信公众号 - 终身开发者(AngryCode),作者:wecodexyz

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android 内存泄漏总结

    内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题。内存泄漏大家都不陌生了,简单粗俗的讲,就是该被释放的对象没有释放,一直被某个或某些实...

    阳仔
  • Github上star数超1000的Android列表控件

    Android开发中,列表估计是最最常使用到的控件之一了。列表相关的交互如下拉刷新,上拉更多,滑动菜单,拖动排序,滑动菜单,sticky header分组,FA...

    阳仔
  • 在Android Studio配置google protobuf

    注意 Gradle版本至少是 2.12 并且Java 7,本例子使用的是2.2.3,protobuf-gradle-plugin使用最新的0.8.0版本。

    阳仔
  • Python 文件I/O

    Python提供了必要的函数和方法进行默认情况下的文件基本操作。你可以用file对象做大部分的文件操作。

    Python知识大全
  • 06 . Python3入门之IO编程(文件操作)

    4. f.write() f.write(string)将string写入到文件中,然后返回写入的字符数.

    youmen
  • python文件打开的几种访问模式

    于小勇
  • 如何跟客户解释为什么程序会有附带文件,最全标准回答来了!(建议收藏!)

    很多刚开始做程序开发的小伙伴可能都会发现,在新建C语言和C++的工程时,都会在生成的程序文件夹中出现很多类似于.dsp .dsw .ncb .opt .plg的...

    灰小猿
  • 操作系统 文件管理 概述

    计算机的主要功能之一就是对数据进行数值或非数值计算。系统软件必须提供数据存储、数据处理、数据管理的基本功能。数据管理是通过文件管理的方式来完成的,而目录又是建立...

    Debug客栈
  • 9.1 文件基础

    (1)程序文件,包括源程序文件(后缀.c)、目标文件(后缀.obj)、可执行文件(后 缀.exe)

    闫小林
  • 如何学python 第十九课 文件操作

    今天我们来说说文件操作。文件操作在程序编写里有着举足轻重的作用。文件操作,主要包含文件的输入和输出。学会了文件操作,就可以写出更符合实际需求的脚本。 我会先介绍...

    用户1631416

扫码关注云+社区

领取腾讯云代金券