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

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

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

【问题讨论】:

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

标签: android eclipse build r.java-file


【解决方案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】:

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

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2012-10-02
                  • 2015-02-07
                  • 2014-05-03
                  • 2012-08-05
                  • 2013-06-25
                  相关资源
                  最近更新 更多