Android工作室突然无法解析符号R.

时间:2013-06-14 15:01:14

标签: android android-layout android-studio

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

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

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

15 个答案:

答案 0 :(得分:35)

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

答案 1 :(得分:5)

此外,请确保您没有名称无效的drawable。我有一个带有数字文件名的drawable,并且不适合Android,因此无法编译R.java。

答案 2 :(得分:5)

降级您的Gradle插件版本

无需大量清洁,重建和重新启动就可以解决我的问题。

唯一有效的方法是将我们的Gradle版本从3.4.0-alpha02降为3.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版本 只是强制刷新,否则其他命令就无法完成,但是可以了。

答案 3 :(得分:3)

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

答案 4 :(得分:2)

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

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

答案 5 :(得分:1)

我也遇到了同样的问题(最近一次是在午餐时 - 回来和WTF?)。由于这是一个简单的Hello,World程序,因此这些错误可能隐藏的地方并不多。 XML文件看起来很好 - 我甚至没有触及清单。干净没有做任何事。

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

然后我简单地说出了我所评论的内容......而且一切都很笨拙。奇怪!也许有一些挥之不去的问题需要触及才能重建布局文件。你认为这些日子不会发生这样的基本事情,但确实如此。

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

答案 6 :(得分:1)

我有时会在更新Android Studio后得到此信息。并不总是直接但过了一会儿(也许是在重启程序后)。

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

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

答案 7 :(得分:1)

我有同样的问题,因为在我的strings.xml中,我忘了逃避撇号。 在xml文件中使用“\”“never”'“

答案 8 :(得分:0)

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

import android.R

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

编辑: 看起来eclipse早就有了the same problem

答案 9 :(得分:0)

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

答案 10 :(得分:0)

重命名包名称时会出现此问题。 重命名包名称后,您必须更改旧版包 命名为较新一个。 对我来说,一旦我改变了它就解决了这个问题。 之后,您可能会在xml文件中出现错误,您必须更改 包名也有。 就是这样。

答案 11 :(得分:0)

我刚遇到R问题,几个小时后发现问题是我的一个xml文件中使用的区域拼写问题。问题一词是行为,这是美国人的拼写行为。 我是澳大利亚人,我们教你们用英语拼写某些单词的方式,所以在便士丢掉之前我曾多次看过它。 它是一个小东西,但它很容易偷偷摸摸地咬你的地区,很难发现并浪费很多时间。

答案 12 :(得分:0)

在我的情况下,我刚刚在drawable文件夹中添加了一些新的图像文件,并意外地在我的PNG中添加了一个GIF。我还没有将它们整合到项目中。我删除了GIF,然后进行了清理和重建。这为我解决了。

答案 13 :(得分:0)

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

关闭所有子目录路径名的PNG大于Windows 7定义的名称长度限制(260个字符)。我给项目一个更短的名字 - 释放一些空间 - 然后Android Studio愉快地编译。

答案 14 :(得分:0)

在尝试制作项目,清理项目,重建项目后,仍然无法正常工作。 尝试重启 Android Studio