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

我用的是Windows 7。

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


当前回答

我遇到过几次这样的问题。我发现,如果我没有通过应用程序的名称导入包R,例如,如果我的应用程序有包名称示例。然后我发现我必须导入example.test.R才能访问任何资源。

如果没有导入,那么返回的资源是默认资源,不包括我自己的资源。

也就是说,如果你发现你只是得到一个默认资源的列表,然后检查,以确保你导入application_package_name。R而不是android。

其他回答

我遇到过几次这样的问题。我发现,如果我没有通过应用程序的名称导入包R,例如,如果我的应用程序有包名称示例。然后我发现我必须导入example.test.R才能访问任何资源。

如果没有导入,那么返回的资源是默认资源,不包括我自己的资源。

也就是说,如果你发现你只是得到一个默认资源的列表,然后检查,以确保你导入application_package_name。R而不是android。

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

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

以我为例,在无休止地关闭IDE、清理、尝试构建等之后,问题是我的“res”文件夹中的一个“未命名文件夹”,我可能错误地添加了这个文件夹。

我希望Eclipse能输出这类错误,就像Ant脚本那样:

[null] invalid resource directory name: /Users/gubatron/workspace.android/my-project/res/untitled folder

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

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

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

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

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

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

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

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