我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?

我用的是Windows 7。

其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”


当前回答

确保您的XML文件没有任何问题 确保你的舱单上没有错误 确保你的琴弦没有问题

如果其中任何一个有问题,Eclipse可能无法构建R类…… 解决问题,清理和重建。

其他回答

Android在SDK构建工具ADT 22中添加了构建机制。您只需要执行以下步骤。

更新Android SDK工具 更新Android SDK平台工具 更新Android SDK构建工具 将构建工具的路径添加到path变量中。(路径到---- YOUR DIRECTORY-PATH\android-sdk\build-tools)

这将解决问题。

我的问题在一个菜单文件里。 如果在菜单文件中引用了strings.xml中不存在的字符串,编译器似乎不会警告你。检查菜单XML文件中的项目是否引用了在strings. XML中不存在的字符串。通常在android:title。

这是我发现的又一个答案,之前的30个答案都没用。

我在strings.xml文件中发现了我的问题,尽管它非常非常奇怪。 我把我的应用精简到最低限度,这是唯一发现的东西。我甚至可以把它复制到一个全新的空白应用程序上。

在strings.xml文件中,它编译(并生成R.java文件):

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Test_My_App</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
</resources>

然而,这不是:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello_world">Hello world</string>
<string name="app_name">My_App</string>
<string name="action_refresh">Refresh</string>
</resources>

有趣的是,几天前我删除了action_settings。从那以后,我已经清理了我的代码,再也没有出现过任何问题。今天,我在strings.xml文件中添加了额外的字符串,在清理代码后,车轮脱落了。 此外,如果我重新排列相同的3个字符串行,并清理代码,则不会重新生成R.java文件。

这是我解决问题的方法。

我希望它能帮助到一些人……

如果全部回答不通过,可以从命令行执行资源生成: 进入Eclipse项目目录。 然后运行

aapt.exe package -f -v -m -S res -J src -M AndroidManifest.xml -I ANDROID_HOME/platforms/android-XXX/android.jar

只需用适当的值更改ANDROIRD_HOME和XXX。 您应该在屏幕上获得错误所在的信息。

同样会导致这种情况的是,如果你有一个scale9可绘制文件与另一个文件具有相同的名称:

img_file.9.png img_file.png

只需删除其中一个文件就可以修复它。