我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
当前回答
我有这个问题。我不小心把这个删了
xmlns:tools="http://schemas.android.com/tools"
在我的XML文件和Java文件中,这开始导致整个项目的构建错误。当我重新输入我删除的内容时,它又工作了:)
其他回答
在main.xml中使用硬编码文本作为按钮文本属性时,没有出现任何错误,只有三个警告。 就像这样:
<Button
android:id="@+id/scan"
.....
android:text="Scan" />
在将文本属性更改为android:text="@string/scan_device"后,立即生成了R.java。
因此,只要某个XML文件中出现任何错误/警告,它就会在我的机器/Eclipse上发生。
不过IntelliJ IDEA在警告方面没有这个问题。
我忘记在可声明样式的标记上设置name属性
<declare-styleable>
<attr name="myView" format="reference"></attr>
</declare-styleable>
我用
<declare-styleable name="Theme">
<attr name="myView" format="reference"></attr>
</declare-styleable>
我没有得到任何错误
当我试图从SDK源代码构建Support4Demos时,这个问题也发生在我身上。
在修复了资源文件中的一些问题(例如,“fill_parent”重命名为“match_parent”)后,我发现问题在清单文件中:我通过试错检查了“在AndroidManifest.xml中定义一个<应用>标签”复选框,保存了更改,R.java神奇地重新出现。然后,我重新选中了该框,保存了该文件,重新生成了R.java。
我想我遇到了Eclipse的一个缺点。
我也有同样的问题,我最终发现了问题:在strings.xml中,我没有保留一行<string name="app_name">程序名</string>,这是在创建一个新的Android项目时默认存在的。我以为它只用于程序HelloWord,这是原来的程序。
然而,AndroidManifest.xml引用这个值,因此:
编译错误; =>没有更新R.java; => ID不被识别…
Android在SDK构建工具ADT 22中添加了构建机制。您只需要执行以下步骤。
更新Android SDK工具 更新Android SDK平台工具 更新Android SDK构建工具 将构建工具的路径添加到path变量中。(路径到---- YOUR DIRECTORY-PATH\android-sdk\build-tools)
这将解决问题。