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

我用的是Windows 7。

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


当前回答

如果你的AndroidManifest.xml文件引用了你存储在Strings .xml中的字符串常量,并且你在Strings .xml中重命名了这些字符串,你将需要在清单中更改它们,以使构建的一切都符合要求。

同样的情况也适用于任何引用您所更改的常量的布局.xml文件。不幸的是,Eclipse中的Markers视图和Problems视图都不会告诉您需要到哪里去修复这些问题——只是它们无法找到R.java。正如在其他答案中提到的,查看控制台,看看需要在哪里修复常量引用,然后再次清理项目。

其他回答

查看Eclipse中的Problems选项卡总是很有帮助的。在我的情况下,我得到了一个“android无法解决目标‘android-8’”的错误消息,使R.java无法生成。因此,我将导入的目标纠正为我在默认情况下使用的目标。属性文件,然后我执行了一个清洁通过项目->清洁,瞧!自动生成R.java !希望能有所帮助!

我的问题是appcompat与我的项目不在同一个目录中。

我在用Ant编译我的应用程序时发现了这一点。

本网站建议:

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

…和…

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

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

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

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

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

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

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

我也有同样的问题。

检查Lint警告后,我看到警告资源R.string。App_name似乎未使用…,所以我删除了r.r string.app_name。

这个资源在AndroidManifest.xml中是必需的,尽管Lint警告我一个未使用的资源。我在清单中添加了“未使用的资源”,一切恢复正常。

我希望这能对某些人有所帮助。