【问题标题】:Where is the R.java file in Android Studio?Android Studio 中的 R.java 文件在哪里?
【发布时间】:2015-02-15 01:24:10
【问题描述】:

Android Studio 中的 R.java 文件在哪里?有人可以帮忙吗?我已经尝试了谷歌的答案,但找不到任何解决方案。

【问题讨论】:

  • 您只需键入 R. 即可查看自动补全建议。

标签: java android-studio aapt


【解决方案1】:

基于new stable release of Android Studio (3.6),我们有:

所以,现在要找到您生成的资源类,您需要以下步骤:

1) 打开您的项目。

2) 转到您的模块构建路径。

3) 打开 outputs/apk/debug/app-name-debug.apk 文件。

4) 选择您的 classes.dex 文件。

5) 查看向下放置的区域并转到您的完整包路径。

6) 你可以看到所有的字节码资源类。因此,向下滚动到您要查找的内容。

7) 展开你需要继续的资源类(例如,让它成为R.id)

8) 转到您的 ID。

就是这样。

更新:

如果您想查看实际的 id 整数,您应该按照以下步骤操作:

1)通过(7)转到您需要继续的资源类并右键单击以显示上下文菜单

2) 选择“Show Bytecode”可以看到灵活的对话框“DEX Byte Code for R$id”,例如id class

3) 向下滚动到实际 id 以查看其编号

【讨论】:

  • 这是 2020 年的正确答案(Android Studio 3.6),但我如何才能读取实际 ID?像 button17 = 52444873 ?
  • 如果有人疑惑:“新的Android Gradle Plugin直接生成对应的字节码,不制作中间的R.java文件。” forums.bignerdranch.com/t/…
  • 另请查看 classes2.dexclasses3.dex 以获取您的包裹。如果你搜索id,你可能不会在那里找到它,因为它可能属于另一个包。见stackoverflow.com/a/61277205/2914140 的简短方法。
【解决方案2】:

尽管当前的 Android Gradle 插件不再生成 R.java,但您仍然可以检查相应的类文件(请参阅 Sergey V. 的回答)。

但是,如果您(可能在大多数情况下)只想查找为您的资源生成的 ID,有一种更简单的方法:

在左侧的项目窗格中,使用顶部的下拉菜单从 Android 切换到 Project 视图。然后导航到app/build/intermediates/runtime_symbol_list/<insert build type here>/R.txt。该文件列出了构建过程中由 AGP 生成的所有 ID

【讨论】:

  • 谢谢!一个正确的答案。它看起来像int drawable bonus_item 0x7f0800f1
  • 这是简短而正确的答案
【解决方案3】:

我使用 Android Studio 3.3.2

\app\build\generated\not_namespaced_r_class_sources\debug\processDebugResources\r\android\support\constraint\R.java

【讨论】:

  • 是的,非常感谢。顺便说一句,我使用的是 AS 3.5.2。
  • AS 3.6.1 中没有not_namespaced_r_class_sources 文件夹
  • @gmk57 看看下面 Sergey V. 的回答。
【解决方案4】:

如上所述,“新的Android Gradle Plugin直接生成相应的字节码,不制作中间的R.java文件”。

使用ubuntudroid solution,您也可以通过这种方式找到id。找到R.txt 并复制绝对路径。项目 > 应用程序 > 构建 > 中间体 > runtime_symbol_list > 调试 > R.txt。然后右键选择Copy Path...1. Absolute Path Ctrl+Shift+C

这样您将获得R.txt 的路径,例如“C:\Users\user\AndroidStudioProjects\your_project\app\build\intermediates\runtime_symbol_list\debug\R.txt”。将不带R.txt 的路径复制到文本文件以供将来参考,例如,使用 Notepad++。

Ctrl+Shift+F 在目录中查找。插入 id 和路径。

== 旧答案 ==

将项目视图从 Android 更改为 ProjectProject Files。找到这两个文件之一。

然后您可以恢复到Android 视图。

【讨论】:

    【解决方案5】:

    我使用 Android Studio 2.3.3。 R.java文件如上图所示。

    在左上方,有一个选择列表。选择[project] 选项,以便您可以查看所有文件夹和文件。

    【讨论】:

    • 我为 OP 感到抱歉。我严重怀疑他/她是否要求提供实际 R 文件的屏幕截图。答案也应该清楚地解释它是如何生成的。
    【解决方案6】:

    R.java是ADT或者Android studio生成的文件。它将位于app\build\generated\source\r 目录下。

    ./app/build/generated/source/r/debug/android/support/v7/appcompat/R.java
    ./app/build/generated/source/r/debug/your/packagename/name/R.java
    

    【讨论】:

      【解决方案7】:

      我使用的是 Android Studio 2.2.3,R.java 文件如下图所示。 Goto在左上角有一个选择列表,

      1. 选择[包]
      2. 打开“应用文件夹”
      3. com.example.saeedanwar.myapplication;
      4. r

      【讨论】:

        【解决方案8】:

        如果您使用的是 Mac 或 Linux,请在终端上尝试以下命令行:

        find . -name "R.*"
        

        它将打印如下内容:

        ./app/build/intermediaries/runtime_symbol_list/debug/R.txt
        ./app/build/intermediaries/compile_and_runtime_not_namespaced_r_class_jar/debug/R.jar
        

        【讨论】:

          【解决方案9】:

          app\build\generated\source\r文件夹内

          【讨论】:

            【解决方案10】:
            1. 在我的 Android Studio 4.1 项目中

            2. 你可以实际解压的R.jar位于app build文件夹中,如下:

              jar -xf R.jar

            1. 解压 jar 包后,您可以在 app 包中找到 R.java:

            【讨论】:

              【解决方案11】:

              Project/app/build/generated/source/r/debug/com.android.'projectname'/R.java

              【讨论】:

                【解决方案12】:

                --在 Android Studio 3.5.3 中包含您的 xml 布局和视图 id 的 R.Java -- Project/app/build/generated/not_namespaced_r_class_sources/debug/r/com/"your package"/R.java

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2019-12-15
                  • 2021-11-10
                  • 2016-09-19
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多