我在Android工作室打开了一个项目。它由向导生成并且工作正常。
我对activity_main.xml进行了一些小改动,当我改回MainActivity.java时,我在几个地方得到错误,无法解决R.我可能已经做了一些事情来导致这个。但是,当我编辑xml时,我不确定它出现了什么。
有谁知道这可能是什么解决方案? 我可以在r / release / packege / com /中找到R.java,它看起来很好。
答案 0 :(得分:35)
大多数情况下,这是由于XML文件错误造成的。 XML文件可以是布局文件,值文件或Manifest文件。请检查您的xml文件并尝试重建项目。有时清理项目并重建它也有效。
答案 1 :(得分:5)
此外,请确保您没有名称无效的drawable。我有一个带有数字文件名的drawable,并且不适合Android,因此无法编译R.java。
答案 2 :(得分:5)
无需大量清洁,重建和重新启动就可以解决我的问题。
唯一有效的方法是将我们的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,请打开CMD
,cd
到项目目录并运行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