我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
当前回答
我的问题在一个菜单文件里。 如果在菜单文件中引用了strings.xml中不存在的字符串,编译器似乎不会警告你。检查菜单XML文件中的项目是否引用了在strings. XML中不存在的字符串。通常在android:title。
其他回答
对我来说,这个错误是由于我试图复制一个现有的res/菜单,而不是用向导创建一个。
很明显,这个问题有很多原因。如果你在64位的linux机器上,你第一次设置ADT,你可能会遇到这个问题,R不能自动生成。检查控制台选项卡,你可能会看到类似的错误:
'No such file or directory' while attempting to get adb version from '/home/patrick/code/android-sdks/platform-tools/adb'
如果是这种情况,你需要安装ia32-libs,使用如下代码:
sudo apt-get install ia32-libs
详见:Android adb未找到
清理项目,关闭Eclipse,重新打开并启动我的项目,最终使我的R.java重新出现…希望能有所帮助
我的问题是appcompat与我的项目不在同一个目录中。
我在用Ant编译我的应用程序时发现了这一点。
快速修复:
清单中的包名称需要与/src文件夹中的包名称相同,/gen文件夹中的包将自动复制。
详细的观察:
观察/gen文件夹中的包的名称。在我的例子中,它与/src文件夹中的不同。
清单中引用的包是/gen文件夹的包。
我尝试添加一个名为/src文件夹的包到/gen文件夹,看看会发生什么,但这并没有解决问题。然后,我删除了与/src文件夹的包名不相同的包名。这个名称与/src文件夹不对应的包在我删除它后立即被重新创建。
由于清单中的包引用对应于正在被无意义地重新创建的包,并且与/src文件夹中的包不对应,这提示将package = "oldPackage"重命名为package = "srcFolderPackage"。