J'essaie d'obtenir le fichier R.java pour mon projet Android. La configuration de mon studio Android est comme ci-dessous
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
Le projet se construit sans aucune erreur, mais lorsque je vais dans Exploper et que je recherche le dossier app/build/generated/not_namespaced_r_resources
il n'est pas généré. J'ai essayé de nettoyer et de construire, d'invalider le cache et de redémarrer mais cela ne fonctionne pas. Comment puis-je obtenir le fichier R.java?
Ceci est le journal de construction
Android studio - 4.0 Gradle version - 6.1.1 Android studio gradle plugin version - 4.0.0
J'ai fait référence ci-dessous au fil SO et j'ai tout essayé mais rien ne fonctionne.
Où se trouve le fichier R.java dans Android Studio?
le fichier R.java dans Android Studio 3.4
Je ne trouve pas le dossier R.java, a-t-il été renommé dans la version 3.3?
Y a-t-il un bug connu avec cela?
3 Réponses :
Les nouvelles versions d'Android Studio et du plugin Gradle ne génèrent plus de fichier R.java réel.
J'ai lu un article à ce sujet quelque part, mais je ne le trouve pas pour le moment, peut-être que quelqu'un d'autre le fait.
Le bytecode nécessaire est généré directement et est caché dans les coulisses.
C'est aussi la raison pour laquelle vous ne pouvez pas utiliser "Aller à la déclaration ou aux usages" sur la partie "R" de "R.string.my_text", la classe n'existe tout simplement pas.
démarrer à partir d'Android Studio 3.6. Basé sur cet article: Impossible de trouver R.java dans Android Studio 3.6 (dernière version) .
De plus, le plugin Android Gradle a considérablement amélioré les performances du traitement des annotations / KAPT pour les grands projets. Cela est dû au fait qu'AGP génère désormais directement le bytecode de la classe R, au lieu des fichiers .java.
Les nouvelles versions d'Android Studio et du plugin Gradle ne génèrent plus de fichier R.java réel.
Mais vous pouvez spécifier le paramètre AAPT pour générer activement
android { ... aaptOptions { additionalParameters "--java", "$buildDir/generated/r" } ... }