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

我用的是Windows 7。

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


当前回答

如果res文件夹中有任何错误,R.java将永远不会生成。例如,在可绘制的子文件夹中有两个文件具有相同的名称,一个是icon.png,另一个是icon.html。

您可以在Eclipse控制台日志窗口中看到一些错误,显示“资源条目图标已经定义”。删除icon.html后,您可以清除或删除gen文件夹。您将发现创建了R.java。

其他回答

我没有看到它列在这里,但我遇到了我的R.java被删除的问题,不能自动重建。

我在处理switch语句和字符串时遇到了这种情况。Eclipse建议我将项目的遵从性更改为1.7,这立即破坏了项目(R.java),因为Android不能使用这种遵从性。

控制台:

[2013-03-12 17:26:33 - CrimeAtlas] Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fix Project Properties.

我通过使用“修复项目属性”修复了这个错误,然后像建议的那样查看日志。我注释掉了文件中的XML,提到用线性布局临时替换它们。当它被修复,砰,它重新出现(如果“自动构建”是打开的)。然后,如果没有任何错误,我可以将XML文件更改回来。

清理项目,关闭Eclipse,重新打开并启动我的项目,最终使我的R.java重新出现…希望能有所帮助

我发现了一个解决方案,为什么R.class不被Eclipse重新创建后- 2清洁,构建等。

问题在strings.xml中:

<string name="hello">Hello World, HelloAutoComplete!</string>

<string name="app_name">HelloAutoComplete</string>

这些是Eclipse在创建项目时默认创建的。

当然,您需要根据自己的需求更改strings.xml。有时你会清除字符串。xml这两行代码:

它在AndroidManifest.xml文件中产生了一个问题:

<application android:icon="@drawable/icon"  android:label="@string/app_name">
<activity android:name=".HelloAutoComplete" android:label="@string/app_name">

所以它不能与strings。xml通信。

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

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

我忘记在可声明样式的标记上设置name属性

<declare-styleable>
        <attr name="myView" format="reference"></attr>
</declare-styleable>

我用

<declare-styleable name="Theme">
        <attr name="myView" format="reference"></attr>
</declare-styleable>

我没有得到任何错误