4
votes

R.java introuvable sur Android Studio 3.2

Nous avons un comportement étrange dans un projet Android dont nous avons hérité. L'APK se construit sans erreur mais l ' IDE continue de se plaindre de l'absence de classe R dans les importations.

Nous utilisons Android Studio 3.3. (faux! voir la modification en bas)

Après un peu plus de fouille, nous avons constaté que le fichier R.java est en fait généré mais dans build \ generated \ not_namespaced_r_class_sources plutôt que dans le build \ generated \ sources habituel .

Est-ce que quelqu'un l'a déjà? Mieux encore, est-ce que quelqu'un sait comment résoudre ce problème?

Merci à tous!

Modifier: j'utilisais en fait Android Studio 3.2…


3 commentaires

Avez-vous créé un package racine dans le répertoire src?


Merci pour cette réponse rapide! Je ne suis pas sûr de comprendre ce que vous voulez dire mais nous avons src / main et src / flavourA (+ quelques autres tels que androidTest, etc.) et les deux contiennent des classes avec une structure de répertoire correcte, je pense


Pouvez-vous nous montrer la structure du projet?


3 Réponses :


3
votes

Dans mon cas, R.java génère toujours dans build \ generated \ not_namespaced_r_class_sources . Vous pouvez essayer de nettoyer et de reconstruire le produit.


1 commentaires

Certes, il s'agissait en fait d'un conflit de version entre mon Android Studio et le plugin Android Gradle!



4
votes

Dans mon cas, je dois rétablir la version de l'outil de compilation Android:

classpath 'com.android.tools.build:gradle:3.2.1' // use this version instead of 3.3.0


1 commentaires

Consultez également ma réponse ici pour la prochaine étape, stackoverflow.com/questions/35178731/...



3
votes

Tout d'abord, merci pour tout votre soutien!

Après avoir lu la réponse de @Kingfisher Phuoc, j'ai finalement trouvé qu'il s'agissait d'une incompatibilité entre mon Android Studio 3.2 et l'utilisation du plugin Android gradle 3.3 .

J'ai mis à jour mon Android Studio pour qu'il corresponde au plug-in et maintenant il fonctionne !

Il semble que la manière dont la classe R est générée a été mise à jour dans la version 3.3 (source: notes de version , recherchez "Génération de classe R plus rapide pour les projets de bibliothèque" )


0 commentaires