如何生成 R.java

Posted

技术标签:

【中文标题】如何生成 R.java【英文标题】:How to generate R.java 【发布时间】:2011-06-04 21:15:34 【问题描述】:

我从 Google 源代码下载了一些源代码。

我在 Eclipse 上执行了它们,但没有创建 R.java 文件,因此我收到很多错误,说 R 无法解决。布局中也没有main.xml。那里还有其他一些 XML 文件。如何执行这些程序?

【问题讨论】:

***上有很多类似的问题。请进行搜索,并通读基本文档。不需要 Main.xml。 ***.com/questions/4516428/r-java-auto-generated-file***.com/questions/2757107/… FWIW,这些问题都没有完全正确回答。 Eclipse 可以使自己进入不生成 R.java 文件的状态。事实上,我的 R.java 已被那里的人们建议的 Project->Clean 操作删除 是的,clean 会删除 R.java,但下次构建时会重新创建它。如果不是,您可以尝试退出 Eclipse,然后再重新进入;有时 Eclipse 会感到困惑。 你下载了哪些资源?并复制粘贴确切的错误消息。 此刻真的把我吓坏了。为什么没有直接的解决方案来解决这个问题。由于 R 行错误,我无法构建项目,所以它不会生成。 【参考方案1】:

只要你有一个有效的android项目,你就可以使用aapt package从资源中生成R.java。这是示例用法(都应该在一行中):

aapt package --non-constant-id -f -m -M <abs_path_to_AndroidManifest.xml> 
  -S <abs_path_to_res_dir> -I <abs_path_to_platforms_android.jar> 
  -J <abs_path_to_dir_that_should_contain_gen_R_java) 
  --generate-dependencies

通过使用 aapt 目标或简单地使用 exec 目标,可以使用 ANT 将上述内容变为可编写脚本。

【讨论】:

有趣 - 像这样生成过一次,从那时起它也可以在 Eclipse 中使用。是的,我知道我应该使用 Android Studio,但我不想......【参考方案2】:

假设您有 Android sdk。如果你有..只需清理项目。 R.java 将自动生成。

【讨论】:

清理项目会从项目中删除R.java文件。 @Nuktus 理论上是的。这就是它应该的方式。在实践中(eclipse),您可能会看到 R.Java 在清理后仍然存在。最糟糕的是,有时类中的 import 语句指向不正确的 R.Java(例如,来自库项目) 这可能是因为您打开了自动编译。你清理一切,然后自动编译重新生成它。【参考方案3】:

您好,我刚刚遇到了同样的问题。每次清理项目时,文件 R.java 都会被删除并重新生成。就我而言,其中一个 .xml 文件存在一些错误,并且没有生成 R.java。如果你没有 Main.xml 这可能是原因。无论如何,如果你修复 .xml 问题,应该会生成 R.java。

【讨论】:

【参考方案4】: 打开Android SDK Manager 勾选Tools有3个Android SDK Tools包,删除后重新安装。 完成后,请刷新Package Explorer中的项目。

您将在/gen 中看到BuildConfig.javaR.java

我认为您需要我推荐此评论

享受您的建筑应用程序。

【讨论】:

准确地说,aadt 是“Android SDK 构建工具”的一部分。较旧的 sdks 在每个 api 级别的“SDK 平台”包中提供。【参考方案5】:

经过几个小时的挫折后,我决定从我的文件中删除无法解析 R.java 的红色标记,因为它在我的代码中实际上不可用。从我的活动文件中删除第一条红线后,项目会自动构建并生成 R.java。

这对我来说真的是一件非常可怕的事情,因为它毫无缘由地回来了。

希望对你有帮助

亲切的问候, 求和

【讨论】:

【参考方案6】:

如果您的 build.xml 包含“-resource-src”目标(如果您包含 $SDK_DIR/tools/main_rules.xml 或 lib_rules.xml),您可以使用 ant 重新构建它。

【讨论】:

【参考方案7】:

对于未来的读者,重启 adb 然后清理。

【讨论】:

【参考方案8】:

更正 Xml 布局中的所有错误,如果错误仅在 id 属性中,请更改为其他名称保存,然后键入原始值,此解决方案适用于我。

【讨论】:

【参考方案9】:

我在将带有数字文件名的 jpg 文件添加到我的可绘制文件夹后遇到了这个问题。在清理项目后尝试重建项目时,我遇到了一个编译错误,“预计在第 y 行”。您可能需要检查您是否有类似的问题。虽然我在使用 Android Studio 时遇到了这个问题,但我相信它也会影响到 Eclipse。

【讨论】:

【参考方案10】:

清理项目,删除 R.java 并重新生成它。 如果 /res 文件(资源)中的任何地方有错误,通常不会生成 R。 可能是图片名称错误,或者其他任何东西...... 之前修复你的错误。 祝你好运;)

【讨论】:

【参考方案11】:

我遇到了类似的问题,我更改了工作区文件夹,所有错误都消失了。这是一种简单的解决方案,但它有效。

【讨论】:

以上是关于如何生成 R.java的主要内容,如果未能解决你的问题,请参考以下文章

R.java 文件未生成

生成R.java文件失败 这是怎么回事

Android ADT 版本 22,未生成 R.java 文件

R+JAVA 生成图片保存图片

android project clean后无法生成R.java文件,因为程序中有编译错误,但是错误都是因为R文件资源未找到TT?

修复styles.xml中的错误以生成R.java:找不到资源名称'Theme.AppCompat.Light'