我发现我的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。 您应该在屏幕上获得错误所在的信息。
其他回答
我也有同样的问题,我最终发现了问题:在strings.xml中,我没有保留一行<string name="app_name">程序名</string>,这是在创建一个新的Android项目时默认存在的。我以为它只用于程序HelloWord,这是原来的程序。
然而,AndroidManifest.xml引用这个值,因此:
编译错误; =>没有更新R.java; => ID不被识别…
当您认为一切正常,但似乎没有任何事情可以正常工作时,请逐个检查XML文件。错误就在那里。
如果您使用XML文件的GUI,一切似乎都没问题,但当您输入文本XML文件时,您会看到里面的混乱。Eclipse在这方面有点bug。
也要设置BuildAutomatically,这样在你修复了错误之后,你的R.java文件就会在生成的....中祝你好运! !
r .类可能突然丢失的一个原因是XML文件中出现错误。例如,当您添加一个名称中带有大写字母的XML文件时,例如myCoolLayout.xml,这是不允许的。或者当您的引用不指向现有文件时,等等。
不要从strings.xml中删除这两行:
android:icon="@drawable/icon" android:label="@string/app_name"
android:name=".HelloAutoComplete"
android:label="@string/app_name"
如果您的R.java没有生成,解决方案之一是删除名为“blabla.out.xml”的布局文件。
删除此文件后,尝试从project -> Clean菜单中清理项目。