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

我用的是Windows 7。

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


当前回答

我也有同样的问题。

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

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

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

其他回答

我改变了我的布局XML文件名,后来发现XML文件(小部件提供程序在这种情况下)仍然引用旧的布局XML不存在,这阻止了R类的自动生成/纠正。

还要确保您拥有最新版本的ADT插件,并打开Android SDK管理器将所有SDK工具更新到最新版本。还要检查Eclipse本身中的更新。不匹配的版本给我带来了问题。

当您认为一切正常,但似乎没有任何事情可以正常工作时,请逐个检查XML文件。错误就在那里。

如果您使用XML文件的GUI,一切似乎都没问题,但当您输入文本XML文件时,您会看到里面的混乱。Eclipse在这方面有点bug。

也要设置BuildAutomatically,这样在你修复了错误之后,你的R.java文件就会在生成的....中祝你好运! !

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

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

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

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

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