簡體   English   中英

如何從 android 項目中獲取 R.java

[英]How to get R.java from android project

我正在嘗試為我的 android 項目獲取 R.java 文件。 我的 android 工作室設置如下

Android studio - 4.0
Gradle version - 6.1.1
Android studio gradle plugin version - 4.0.0

項目正在構建,沒有任何錯誤,但是當我在 exploper 中的 go 並查找文件夾app/build/generated/not_namespaced_r_resources時,它沒有生成。 我嘗試清理並構建,使緩存無效並重新啟動,但它不起作用。 如何獲取 R.java 文件?

這是構建日志

Executing tasks: [:app:assembleDebug] in project D:\abc\asdf

> Task :app:preBuild UP-TO-DATE
> Task :app:preDebugBuild UP-TO-DATE
> Task :app:compileDebugAidl NO-SOURCE
> Task :app:generateDebugBuildConfig UP-TO-DATE
> Task :app:javaPreCompileDebug UP-TO-DATE
> Task :app:compileDebugRenderscript NO-SOURCE
> Task :app:generateDebugResValues UP-TO-DATE
> Task :app:generateDebugResources UP-TO-DATE
> Task :app:processDebugGoogleServices UP-TO-DATE
> Task :app:mergeDebugResources UP-TO-DATE
> Task :app:createDebugCompatibleScreenManifests UP-TO-DATE
> Task :app:extractDeepLinksDebug UP-TO-DATE
> Task :app:processDebugManifest UP-TO-DATE
> Task :app:processDebugResources UP-TO-DATE
> Task :app:compileDebugJavaWithJavac UP-TO-DATE
> Task :app:compileDebugSources UP-TO-DATE
> Task :app:mergeDebugShaders UP-TO-DATE
> Task :app:compileDebugShaders NO-SOURCE
> Task :app:generateDebugAssets UP-TO-DATE
> Task :app:mergeDebugAssets UP-TO-DATE
> Task :app:processDebugJavaRes NO-SOURCE
> Task :app:mergeDebugJavaResource UP-TO-DATE
> Task :app:checkDebugDuplicateClasses UP-TO-DATE
> Task :app:mergeLibDexDebug UP-TO-DATE
> Task :app:desugarDebugFileDependencies UP-TO-DATE
> Task :app:mergeExtDexDebug UP-TO-DATE
> Task :app:dexBuilderDebug UP-TO-DATE
> Task :app:mergeProjectDexDebug UP-TO-DATE
> Task :app:mergeDebugJniLibFolders UP-TO-DATE
> Task :app:validateSigningDebug UP-TO-DATE
> Task :app:mergeDebugNativeLibs UP-TO-DATE
> Task :app:stripDebugDebugSymbols NO-SOURCE
> Task :app:packageDebug UP-TO-DATE
> Task :app:assembleDebug UP-TO-DATE

BUILD SUCCESSFUL in 1s
23 actionable tasks: 23 up-to-date

我在下面提到了 SO 線程並嘗試了所有方法,但沒有任何效果。

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

android studio 3.4 中的 R.java 文件

我找不到 R.java 文件夾,在 3.3 版中是否已重命名?

這有什么已知的錯誤嗎?

較新版本的 Android Studio 和 Gradle 插件不再生成實際的 R.Z93F725A074238FE1C889F4 文件。
我在某處讀過一篇關於它的實際帖子,但目前找不到,也許其他人找到了。

需要的字節碼是直接生成的,並且隱藏在幕后。

這也是您不能在“R.string.my_text”的“R”部分使用“轉到聲明或用法”的原因,class 根本不存在。

較新版本的 Android Studio 和 Gradle 插件不再生成實際的 R.Z93F725A074238FE1C889F4 文件。

但是可以指定AAPT參數來主動生成

android {
    ...
    aaptOptions {
        additionalParameters "--java", "$buildDir/generated/r"
    }
    ...
}
    

從 Android Studio 3.6 開始。 基於這篇文章: Can't find R.java in Android Studio 3.6(最新版本)

此外,Android Gradle 插件對大型項目的注釋處理/KAPT 進行了顯着的性能改進。 這是因為 AGP 現在直接生成 R class 字節碼,而不是.java 文件。

資源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM