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

我用的是Windows 7。

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


当前回答

我发现在res文件夹中任何有大写字母的文件都会产生这个错误。这种情况发生在我添加的一个PNG文件上,我忘记了。

其他回答

作为Glaux的答案的概括,如果在res目录中有任何错误,那么R.java可能不会生成-即使您清理并重新构建。首先解决这些错误。

举个例子:当你添加一个图像文件,比如说“myimage-2.jpg”,系统会认为这是一个错误,因为文件名被限制为字母数字值。在添加任何文件后对“res”目录进行刷新,并观察控制台窗口中的输出是否有文件名警告。

r .类可能突然丢失的一个原因是XML文件中出现错误。例如,当您添加一个名称中带有大写字母的XML文件时,例如myCoolLayout.xml,这是不允许的。或者当您的引用不指向现有文件时,等等。

本网站建议:

如果你在项目上运行一个clean,它应该重新生成所有生成的Java文件,即R。

…和…

在Eclipse的Project菜单下,有一个自动构建的选项。 这将帮助您在每次修改时构建R.java文件 制造的。清洁……项目下也有选项。

这个网站提出了另一种解决方案。

如果你使用Lint错误检查器,它将识别虚假的“R”导入。 一旦XML系统抓住了错误的一端,一切都完了!!

几乎可以肯定插入到genfile中的内容有问题。Eclipse不够聪明,无法显示问题是什么,甚至无法指出存在问题!

考虑一下您对任何XML或图像内容所做的最后一次编辑-并尝试“回滚”您的更改,如果需要可以手动进行。

我发现Eclipse有时出于某种原因不喜欢我的文件名,我必须更改它们。

所以,一个接一个地增加资源,确保一切都“有效”。当出现问题时,只需尝试对其进行一些更改,直到Eclipse接受它。

当genfile出现时,你知道它正在工作-如果没有问题,它会自动这样做。