我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
当前回答
似乎这里的所有答案都在重复检查XML中的错误并清理您的项目。做到!但如果这行不通呢?以下是对我有效的方法:
如果你创建的项目生成了一个错误的R,你删除了它,它不会重新生成,所以删除这个项目并创建一个新的项目,确保你没有勾选“自动生成”,然后你可以将你的文件夹复制到工作区,然后清理项目或勾选“自动生成”,这样它就会正确地生成你的R。
其他回答
通过更改文件项目来解决问题。属性:我添加了一个android-17目标。
这是我发现的又一个答案,之前的30个答案都没用。
我在strings.xml文件中发现了我的问题,尽管它非常非常奇怪。 我把我的应用精简到最低限度,这是唯一发现的东西。我甚至可以把它复制到一个全新的空白应用程序上。
在strings.xml文件中,它编译(并生成R.java文件):
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Test_My_App</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
</resources>
然而,这不是:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello_world">Hello world</string>
<string name="app_name">My_App</string>
<string name="action_refresh">Refresh</string>
</resources>
有趣的是,几天前我删除了action_settings。从那以后,我已经清理了我的代码,再也没有出现过任何问题。今天,我在strings.xml文件中添加了额外的字符串,在清理代码后,车轮脱落了。 此外,如果我重新排列相同的3个字符串行,并清理代码,则不会重新生成R.java文件。
这是我解决问题的方法。
我希望它能帮助到一些人……
还有另一种情况发生在我身上。当我在strings.xml资源文件中添加一个带有撇号的字符串时,就像
<string name="Today">Returns Today’s date</string>
它是通过将撇号改为另一种类型的撇号来修复的,比如´。
主要是R.java文件与.xml文件和Java。我们知道XML标记,但是Java呢?因此,我们需要有一个唯一的id来标识标记。
这里的R.java文件主要与使用Java获取值的XML文件相关。
如果你的操作系统是Ubuntu,我可以提供一些建议:
安装或升级ia32-lib: Sudo apt-get升级ia32-libs 检查您是否对aapt文件夹有正确的权限: cd ANDROID / adt - bundle - linux - x86_64 - 20130522 / sdk /构建工具/ android-4.2.2 Chmod 777 apapt 启动Eclipse: sudo eclipse 在Eclipse中运行Project -> Clean