我正在使用Android Studio打开一个项目,该项目通过向导生成并正常运行。
我对activity_main.xml进行了一些小更改,然后切换回MainActivity.java时,在多个位置遇到了“无法解析R”的错误。我可能做了一些引起此问题的事情,但是我不确定是什么,因为它出现在我编辑xml时。
有人知道可能的解决方法吗?我可以在 r/release/packege/com/ 中找到R.java,看起来没问题。
我正在使用Android Studio打开一个项目,该项目通过向导生成并正常运行。
我对activity_main.xml进行了一些小更改,然后切换回MainActivity.java时,在多个位置遇到了“无法解析R”的错误。我可能做了一些引起此问题的事情,但是我不确定是什么,因为它出现在我编辑xml时。
有人知道可能的解决方法吗?我可以在 r/release/packege/com/ 中找到R.java,看起来没问题。
大多数情况下是由于糟糕的XML文件导致的。 XML文件可以是布局文件、值文件或清单文件。请检查您的XML文件并尝试重新构建项目。有时清理项目并重新构建也会起作用。
/res
目录中。 - WengerAndroidManifiest.xml
中存在一些字符串不存在。 - shareef此外,请确保您没有使用无效名称的可绘制资源。我曾经使用了一个数字文件名作为可绘制资源,这对Android不友好,导致编译R.java失败。
对于我来说,无论如何清理、重建和重新启动都没用。
唯一有效的方法是将我们的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版本是否只是强制刷新,否则其他命令无法完成,但是就是这样。
AndroidManifest.xml
文件中,包名是正确的。当我的R.whatever
被标记为红色时,这个方法解决了我的问题!Build > Clean Project
或者 Build > Rebuild Project
。另外,你也可以通过注释掉可能出错的代码行来进行清理。一旦成功清理,就把它取消注释即可。 - Nuhmanimport android.R
当其他方法都无效时,重新启动Android有时会有所帮助。在启动过程中,文件会被重新加载,从而使R的检测变得可能。