我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
我发现我的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
只需删除其中一个文件就可以修复它。