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

我用的是Windows 7。

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


当前回答

在main.xml中使用硬编码文本作为按钮文本属性时,没有出现任何错误,只有三个警告。 就像这样:

<Button
    android:id="@+id/scan"
    .....
    android:text="Scan" />

在将文本属性更改为android:text="@string/scan_device"后,立即生成了R.java。

因此,只要某个XML文件中出现任何错误/警告,它就会在我的机器/Eclipse上发生。

不过IntelliJ IDEA在警告方面没有这个问题。

其他回答

如果使用Maven,所有这些答案都不能工作。我的解决方案是

<genDirectory>${project.basedir}/gen</genDirectory>

到android-maven-plugin的配置部分。

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

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

我也有同样的问题。原来我有一个循环参考;我更改了在布局中引用的字符串名称。

我做了一个清洁和重建和R.Java文件没有被重新创建。我浪费了两个小时想弄清楚是怎么回事。我最终将布局项更改为一些临时文本,做了一个干净的项目,并创建了R.Java文件。

我也有同样的问题。结果发现,原因是我的一些资源的文件名中有大写字母。我知道这听起来很琐碎,但只是把它们都改成小字母,修复了它,重新检索了我的R.java文件。

希望这能有所帮助。

如果您的R.java没有生成,解决方案之一是删除名为“blabla.out.xml”的布局文件。

删除此文件后,尝试从project -> Clean菜单中清理项目。