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

我用的是Windows 7。

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


当前回答

首先,检查Console输出。 然后,检查xml布局文件名称是否只使用小写。 纠正xml错误。 检查项目属性-> Android不熟悉的东西

其他回答

我在AndroidManifest.xml文件中有一个错误,所以在修复这个错误后,点击

运行- >清洁

它产生了R.java

以下是对我有效而其他答案无效的答案:

创建新的Android应用程序项目, 从旧目录复制所有文件和文件夹(除了/gen)并替换! 在包资源管理器中刷新项目根目录。 如果还在,再清理一下! 完成了。希望这能有所帮助。

当我试图从SDK源代码构建Support4Demos时,这个问题也发生在我身上。

在修复了资源文件中的一些问题(例如,“fill_parent”重命名为“match_parent”)后,我发现问题在清单文件中:我通过试错检查了“在AndroidManifest.xml中定义一个<应用>标签”复选框,保存了更改,R.java神奇地重新出现。然后,我重新选中了该框,保存了该文件,重新生成了R.java。

我想我遇到了Eclipse的一个缺点。

在阅读了许多帖子和YouTube视频后,我发现我们每个人都因为不同的原因丢失了R.java。

下面是我在Eclipse中修复这个问题的方法:

在gen文件夹中手动创建R.java并保存。 然后进入项目,点击“清洁”

将显示以下消息,您的文件将被自动重写:

手动修改了R.java !恢复到生成版本!

我也有同样的问题,我最终发现了问题:在strings.xml中,我没有保留一行<string name="app_name">程序名</string>,这是在创建一个新的Android项目时默认存在的。我以为它只用于程序HelloWord,这是原来的程序。

然而,AndroidManifest.xml引用这个值,因此:

编译错误; =>没有更新R.java; => ID不被识别…