我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
当前回答
我遇到过几次这样的问题。我发现,如果我没有通过应用程序的名称导入包R,例如,如果我的应用程序有包名称示例。然后我发现我必须导入example.test.R才能访问任何资源。
如果没有导入,那么返回的资源是默认资源,不包括我自己的资源。
也就是说,如果你发现你只是得到一个默认资源的列表,然后检查,以确保你导入application_package_name。R而不是android。
其他回答
本网站建议:
如果你在项目上运行一个clean,它应该重新生成所有生成的Java文件,即R。
…和…
在Eclipse的Project菜单下,有一个自动构建的选项。 这将帮助您在每次修改时构建R.java文件 制造的。清洁……项目下也有选项。
这个网站提出了另一种解决方案。
不要从strings.xml中删除这两行:
android:icon="@drawable/icon" android:label="@string/app_name"
android:name=".HelloAutoComplete"
android:label="@string/app_name"
确保你没有导入
android.R;
快速修复:
清单中的包名称需要与/src文件夹中的包名称相同,/gen文件夹中的包将自动复制。
详细的观察:
观察/gen文件夹中的包的名称。在我的例子中,它与/src文件夹中的不同。
清单中引用的包是/gen文件夹的包。
我尝试添加一个名为/src文件夹的包到/gen文件夹,看看会发生什么,但这并没有解决问题。然后,我删除了与/src文件夹的包名不相同的包名。这个名称与/src文件夹不对应的包在我删除它后立即被重新创建。
由于清单中的包引用对应于正在被无意义地重新创建的包,并且与/src文件夹中的包不对应,这提示将package = "oldPackage"重命名为package = "srcFolderPackage"。
清理项目,关闭Eclipse,重新打开并启动我的项目,最终使我的R.java重新出现…希望能有所帮助