12

我在 Android 工作室打开了一个项目。它是由向导生成的并且工作正常。

我对 activity_main.xml 做了一些小改动,当我改回 MainActivity.java 时,我在几个无法解析 R 的地方得到了错误。我可能做了一些事情导致了这种情况。但我不确定是什么,因为当我编辑 xml 时它出现了。

有谁知道这可能是什么解决方案?我可以在 r/release/packege/com/ 中找到 R.java,它看起来不错。

4

15 回答 15

35

大多数情况下,这是由于 XML 文件错误造成的。XML 文件可以是布局文件、值文件或清单文件。请检查您的 xml 文件并尝试重建项目。有时清理项目并重建它也可以。

于 2013-06-14T15:11:11.373 回答
6

此外,请确保您没有具有无效名称的可绘制对象。我有一个带有数字文件名的drawable,它不能很好地适应Android,所以它无法编译R.java。

于 2014-02-10T10:45:17.923 回答
5

降级 Gradle 插件版本

再多的清理、重建和重新启动都不会对我有用。

唯一能奏效的就是将我们的 Gradle 版本从 降级3.4.0-alpha023.2.1.

所以,而不是:

dependencies {
    classpath 'com.android.tools.build:gradle:3.4.0-alpha02'
}

我们用了:

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

在进行更改然后进行 Gradle 同步之后,一切正常。

不确定它是否与 alpha 版本或该版本有关,或者是否更改您的 Gradle 版本只是强制刷新,否则无法使用其他命令完成,但是你去。

于 2018-11-05T21:15:05.857 回答
3

确保你AndroidManifest.xml的包名是正确的。当我R.whatever的标记为红色时,这为我解决了问题!

于 2015-08-14T16:32:17.577 回答
2

尝试通过执行以下操作来清理项目:

如果您使用的是 Windows,请打开CMD,cd到您的项目目录并运行gradlew clean.

于 2013-08-28T10:38:57.087 回答
1

我刚遇到这个问题,原因是在编辑布局后,android studio 自动向源文件添加了一个导入:

import android.R

当然,主要的 R 类并没有布局中的所有符号,这使得一切都变得一团糟。删除那条线为我解决了。

编辑:似乎日食早期也有同样的问题

于 2013-09-01T14:59:09.373 回答
1

我有时会在更新 Android Studio 后得到这个。并不总是立即,而是在一段时间后(可能在重新启动程序后)。

这对我有用:工具 - Android - 将项目与 Gradle 文件同步。

出于某种原因,只需单击更改 build.gradle 文件后显示的“立即同步”链接对我没有任何更改。即使这些消息说的大致相同。

于 2015-03-11T09:06:03.160 回答
1

我也遇到了同样的问题(最近一次是在我吃午饭的时候——回来了,WTF?)。由于这是一个简单的 Hello, World 程序,因此这些错误可以隐藏的地方并不多。XML 文件看起来不错——我什至没有碰过清单。一个清洁没有做任何事情。

所以我注释掉了我的 layout.xml 的一部分以试图缩小问题的范围。果然,错误消失了。

然后我只是简单地取消了我评论的内容......一切都是笨拙的。奇怪的!也许有一些挥之不去的问题需要解决才能导致布局文件的重建。你会认为这些天不会发生这样的基本事情,但他们确实发生了。

还有一件事!Java也有可能发生一些事情。很难知道 Java 运行时环境的状态;只是更容易重新开始。所以这里还有一件事要尝试:重新启动计算机,重新启动 Android Studio,然后使缓存无效并重新启动。是的,整头猪。

于 2014-07-13T23:02:27.973 回答
1

我遇到了同样的问题,因为在我的 strings.xml 中我忘记了转义撇号。在 xml 文件中使用“\'”永远不要“'”!

于 2015-07-01T11:06:58.930 回答
0

在您尝试制作项目后,清理项目,重建项目但仍然无法正常工作。尝试重启安卓工作室

于 2020-05-16T10:00:25.940 回答
0

就我而言,我刚刚将一些新的图像文件添加到可绘制文件夹中,并且不小心将 GIF 与我的 PNG 一起放在那里。我还没有将它们合并到项目中。我删除了 GIF,然后进行了清理和重建。那为我修好了。

于 2016-07-24T17:12:30.963 回答
0

当您重命名包名称时会出现此问题。重命名包名称后,您必须将旧的包名称更改为的。对我来说,一旦我改变它,它就解决了这个问题。之后,您可能会在 xml 文件中遇到错误,您还必须在那里更改包名称。而已。

于 2015-12-11T08:09:23.500 回答
0

导入 Udacity 示例程序时,我遇到了这个确切的问题。Android Studio 中的消息窗格显示错误是无法在项目文件深处的子目录中加载 .PNG。

原来具有所有子目录路径名称的 PNG 大于 Windows 7 定义的名称长度限制(260 个字符)。我给项目取了一个较短的名称——以腾出一些空间——然后愉快地编译了 Android Studio。

于 2016-11-19T06:51:57.187 回答
0

当所有其他方法都失败时,重新启动 android 有时会有所帮助。在启动文件重新加载期间,这可以检测 R

于 2015-08-19T10:45:26.047 回答
0

我刚遇到 R 问题,几个小时后发现问题出在我的一个 xml 文件中使用的区域拼写。问题词是行为,这是美国人拼写的行为。我是澳大利亚人,我们被教给你一些古老的英语拼写某些单词的方式,所以在硬币掉之前我看了好几次。虽是小东西,但很容易偷偷摸摸地咬你,而且很难被发现,而且会浪费很多时间。

于 2016-02-23T23:49:11.277 回答