0
votes

Comment obtenir R.java à partir d'un projet Android

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?


0 commentaires

3 Réponses :


0
votes

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.


0 commentaires

0
votes

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.

la source


0 commentaires

0
votes

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"
    }
    ...
}
    


0 commentaires