[英]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.