我在这里搜索了如何做到这一点,但我找到了 2015 年的资源,并且 Android Studio 的布局从那时起发生了变化。Android Studio 中的 R 文件在哪里。在此处输入图像描述
5 回答
根据文档;用于提高 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\debug
R.class
Views
笔记:
如果您的应用程序正在使用AAPT2;然后就可以生成R.java
和Proguard 规则中间文件了。获取命令语法;您可以使用命令中的选项aapt2 link
。
新的 Android Gradle Plugin 直接生成相应的字节码,不制作中间的 R.java 文件。
资源
https://android-developers.googleblog.com/2020/02/android-studio-36.html
请参阅Android Studio 中的 R.java 文件在哪里?.
- 转动
Project
查看并找到app/outputs/apk/debug/app-name-debug.apk
。
classes*.dex
在文件中找到你的包名。
展开包装并找到
R$id
(见图1)。右键单击并按
Show Bytecode
。您将看到一个文件,您可以在其中找到所需的 id。单击文件内部,按Ctrl+F并粘贴 id。
R 是 android 中的 Generated 类,在您构建项目后,将首先创建该类,然后单击键盘上的 shift 按钮 4 次。在新窗口中搜索“R”类并在列表中找到 R.java 类就是这样