7

我在这里搜索了如何做到这一点,但我找到了 2015 年的资源,并且 Android Studio 的布局从那时起发生了变化。Android Studio 中的 R 文件在哪里。在此处输入图像描述

4

5 回答 5

12

根据文档;用于提高 gradle 的效率和构建性能;该插件现在直接生成JAR,而不是生成中间R.java文件。在以前的 gradle 插件中;R.java将为您包含在app.gradle文件或外部依赖项中的所有依赖项生成。然后将这些 R 类与应用程序的其他 java 类一起编译;这将产生开销和不必要或冗余的编译,从而减慢应用程序的构建性能。

Android Gradle 插件通过为项目中的每个库模块仅生成一个 R 类并与其他模块依赖项共享这些 R 类来简化编译类路径。

完成的新优化可能会显着提高具有许多依赖项的项目的构建性能,并提高索引速度,因此也需要在 android studio 中进行更快、更高效的构建。

当我尝试使用jd-guiR jar反编译位于的文件时;我能够获得包含我用于我的应用程序的 id 的实现,就像我们在早期版本的 gradle 中获得的一样。(这证实了链接。)your_project_directory\app\build\intermediates\compile_and_runtime_not_namespaced_r_class_jar\debugR.classViews在此处输入图像描述

笔记:

如果您的应用程序正在使用AAPT2;然后就可以生成R.java和Proguard 规则中间文件了。获取命令语法;您可以使用命令中的选项aapt2 link

于 2020-05-13T12:15:45.897 回答
5

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

资源

https://android-developers.googleblog.com/2020/02/android-studio-36.html

在此处输入图像描述

于 2020-05-18T04:13:31.337 回答
2

它存在于以下位置:

项目名称\app\build\intermediates\compile_and_runtime_not_namespaced_r_class_jar\debug

在上面的目录中作为 R.jar

在此处输入图像描述

于 2020-05-13T11:35:31.667 回答
0

请参阅Android Studio 中的 R.java 文件在哪里?.

  1. 转动Project查看并找到app/outputs/apk/debug/app-name-debug.apk

在此处输入图像描述

  1. classes*.dex在文件中找到你的包名。

在此处输入图像描述

  1. 展开包装并找到R$id(见图1)。

  2. 右键单击并按Show Bytecode

  3. 您将看到一个文件,您可以在其中找到所需的 id。单击文件内部,按Ctrl+F并粘贴 id。

在此处输入图像描述

于 2021-03-16T11:35:29.330 回答
-3

R 是 android 中的 Generated 类,在您构建项目后,将首先创建该类,然后单击键盘上的 shift 按钮 4 次。在新窗口中搜索“R”类并在列表中找到 R.java 类就是这样

https://i.stack.imgur.com/PdC0d.png

于 2020-05-13T11:15:32.453 回答