In every instance in all of my classes where I reference R.id.something, the R is in red and it says "cannot resolve symbol R". Also every time there is R.layout.something it is underlined in red and says "cannot resolve method setContentView(?)". The project always builds fine. It is annoying to see this all the time. I have read many other questions on here about something similar but most involved importing projects from Eclipse. I am using what I believe to be the most recent version of Android Studio and the project was created with Android Studio and worked without any "cannot resolve R" problems. I would like to know what causes this if anyone knows.


当前回答

我也遇到过同样的问题,大多数时候都是通过

同步项目与gradle文件 做构建->清洁项目 Doing File ->使缓存失效

但这一次,即使在做了所有这些事情后,错误仍然存在,最后我找到了罪魁祸首。

问题是在一个xml文件,在那里我给了一个普通的字符串值为android:id而不是id资源类型。

错误

android:id="username"

修正

android:id="@id/username"

混淆xml文件中与资源相关的内容是一个主要问题 此错误的原因。注意,它可能不会在xml布局文件中显示为错误。

请注意

在大多数情况下,编译器会在消息中显示错误的来源。 在尝试其他解决方案之前,请先检查它

其他回答

我正在做一个多模块的项目。这发生在我把所有ui代码移到一个新模块时。

下面是我解决这个问题的方法: 我发现当我创建新的ui模块时,在/res/values中,它创建了一个新的strings.xml,其中没有任何有用的东西。 我删除了strings.xml文件,重新构建项目,它工作了。

对于这个问题,我有一个特例。

在我的项目中,一切都很顺利,它可以编译和构建成功,但在我的Android Studio IDE(我也尝试了Intelligent IDEA,它们是在相同的情况下),R.java文件不能很好地解析,总是掉在红线中。

就像这样:

这几乎让我疯了,我不能忍受读取颜色当我编程。

最后我发现这个棘手的问题是由我的R.java的文件大小引起的。 我的项目非常庞大,它支持多种语言和多种屏幕尺寸。资源太多了,我的R.java文件大小大约是2.5M。

Android Studio中文件的最大大小默认设置为2.5M,因此大于这个限制的文件不能很好地解析。您可以在“AndroidStudio-root/bin/idea.properties”中更改默认设置。

更改这一行:

idea.max.intellisense.filesize=2500

to :

idea.max.intellisense.filesize=5000

然后重新启动Android studio,红色消失,我又可以愉快地编程了。

我也有同样的问题: Android Studio 3.2 该项目编译和运行良好,但我在屏幕上得到“无法解析符号“R”的警告

没有帮助:

构建——>清洁项目 构建- >重建项目 文件- >缓存失效/重新启动

帮助:

要么

在build.gradle

dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0'
...
}

替换为

   dependencies {
            classpath 'com.android.tools.build:gradle:3.2.1'
    ...
    }

or

更新Android Studio到3.3

我用的是gradle 3.3.0。它是罪魁祸首。浪费了我生命中的6.5小时。Gradle 3.2.1删除了这个错误。

classpath 'com.android.tools.build:gradle:3.2.1'

问题解决后,改变gradle版本。详情历史可以在这里找到。

这些在Ubuntu 12.04上都不适用。我必须做到以下几点:

sudo apt-get install lib32stdc++6
sudo apt-get install lib32z1

在那之后,我遵循了这个线程中的其他一些建议,做了Build ->清洁项目,一切都很好。