【发布时间】:2019-12-15 08:24:17
【问题描述】:
我只是想学习android开发,并且正在使用最新版本的android studio,但是在我的文件夹树视图中找不到R.java文件:
我还清理并重建了我的项目,但我仍然看不到 .../source/R 文件夹和 R.java 文件。
【问题讨论】:
-
你试过无效缓存、重启和重建吗?
标签: android android-studio r.java-file
我只是想学习android开发,并且正在使用最新版本的android studio,但是在我的文件夹树视图中找不到R.java文件:
我还清理并重建了我的项目,但我仍然看不到 .../source/R 文件夹和 R.java 文件。
【问题讨论】:
标签: android android-studio r.java-file
我也在学习 Android 应用程序,我正在寻找像你一样的 R 类
但我发现在新版本中它不退出;
你可以在这里阅读https://developer.android.com/studio/releases/gradle-plugin
更快地为库项目生成 R 类:以前,Android Gradle 插件会为项目的每个依赖项生成一个 R.java 文件,然后将这些 R 类与应用程序的其他类一起编译。该插件现在直接生成一个包含应用程序编译的 R 类的 JAR,而无需先构建中间 R.java 类。此优化可能会显着提高包含许多库子项目和依赖项的项目的构建性能,并提高 Android Studio 中的索引速度。
【讨论】:
Android
R.java是 aapt 自动生成的文件(Android Asset 打包工具),其中包含所有资源的资源 ID res/ 目录。如果您在
activity_main.xml文件中创建任何组件,则 id 为 相应的组件会自动在此文件中创建。 此 id 可用于活动源文件中以执行任何操作 在组件上。
因此您不必担心R.java 文件,因为它会在您构建项目时自动生成。 R.java 在某些情况下可能不会生成,主要是在您的布局文件中存在错误时。检查您的布局文件并在其中查找错误。修复错误,您应该能够在您的活动中获得R.java 文件的引用。
要在您的活动中导入R.java 文件,请使用自动导入选项。在大多数情况下,Alt + Enter 可以帮助您自动导入。
如果您仍然无法找到R.java,您可以考虑使File -> Invalidate Caches/Restart 的Android Studio 缓存无效。
希望有帮助!
【讨论】:
\app\build\generated\not_namespaced_r_class_sources\debug\processDebugResources\r\<package_name_tree>\R.java 文件夹有这个,如下面的答案中提到的,你能告诉我这种行为吗?
R.java所在的路径。当您构建项目时,该文件会在那里自动生成。很高兴知道您找到了该文件。 :)
试试这个:
\app\build\generated\not_namespaced_r_class_sources\debug\processDebugResources\r\<package_name_tree>\R.java
package_name_tree 表示:如果包是 a.b.c
转到:/a/b/c/R.java
【讨论】:
generated 目录了(我使用的是 AS 3.6.1)。
从 gradle 插件版本 4.0.0 和 Android Studio 4.0 开始
R.java 现在在此目录中生成为已编译的 R.jar 文件: project_dir/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/debug/R.jar
如果您想查看应该在之前版本的 Android Studio 中生成的 R.java 的源代码,可以使用 jd-gui 之类的 java 反编译器
【讨论】: