我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
当前回答
如果全部回答不通过,可以从命令行执行资源生成: 进入Eclipse项目目录。 然后运行
aapt.exe package -f -v -m -S res -J src -M AndroidManifest.xml -I ANDROID_HOME/platforms/android-XXX/android.jar
只需用适当的值更改ANDROIRD_HOME和XXX。 您应该在屏幕上获得错误所在的信息。
其他回答
在Eclipse中,只需使用Project——> clean来清理项目。的 R.java将被自动(重新)创建。
如果由于某种原因,这不起作用:确保你的layout.xml文件不包含错误。Eclipse在这里似乎有点bug:有时它不会在XML或包资源管理器中标记错误。在这种情况下:在使用“clean”后查看“console”或“problems”视图。所有错误都应该显示在那里。修好它们,重新清理。
注意:没有必要修复因为缺少R文件而导致的错误!只需修复XML文件和其他项目错误,并使用清洁!
主要是R.java文件与.xml文件和Java。我们知道XML标记,但是Java呢?因此,我们需要有一个唯一的id来标识标记。
这里的R.java文件主要与使用Java获取值的XML文件相关。
我也有同样的问题。当我检查它时,我发现布局下的XML资源的名称没有正确的命名约定。上面有一些大写字母。所以我重新命名,使所有字母小写,神奇的工作。
几乎可以肯定插入到genfile中的内容有问题。Eclipse不够聪明,无法显示问题是什么,甚至无法指出存在问题!
考虑一下您对任何XML或图像内容所做的最后一次编辑-并尝试“回滚”您的更改,如果需要可以手动进行。
我发现Eclipse有时出于某种原因不喜欢我的文件名,我必须更改它们。
所以,一个接一个地增加资源,确保一切都“有效”。当出现问题时,只需尝试对其进行一些更改,直到Eclipse接受它。
当genfile出现时,你知道它正在工作-如果没有问题,它会自动这样做。
作为Glaux的答案的概括,如果在res目录中有任何错误,那么R.java可能不会生成-即使您清理并重新构建。首先解决这些错误。
举个例子:当你添加一个图像文件,比如说“myimage-2.jpg”,系统会认为这是一个错误,因为文件名被限制为字母数字值。在添加任何文件后对“res”目录进行刷新,并观察控制台窗口中的输出是否有文件名警告。