2017-10-02 4 views
1

Je travaille sur un projet androïde impliquant un projet parent (A) qui appelle un autre projet android (B). J'ai ajouté le projet B dans A en tant que module et définissez la dépendance. Cependant, après avoir ajouté le projet B dans le projet A, TOUS les fichiers Java du projet B ajouté affichent une erreur sur la ligne impliquant le symbole R (par exemple setContentView (R.layout.activity_connection);).Erreur impliquant l'identifiant R (lors de l'intégration d'un projet dans un autre)

L'erreur imprimée est "erreur: expression constante requise".

J'ai beaucoup cherché en ligne, mais la plupart des réponses traitent des situations dans lesquelles R.quelquechose.quelque chose se produit dans une instruction switch/case (ce qui n'est pas le cas ici). J'ai également vérifié que mon nom de paquet dans les fichiers du projet B est exactement le même que celui dans le manifeste du projet B. J'ai aussi essayé clean/build.

Notez que le projet B s'exécute correctement lorsqu'il est exécuté individuellement (sans l'intégrer dans le projet A). C'est seulement quand je l'inclue dans le projet A que je rencontre ces erreurs. En outre, ma méthode d'inclusion du projet en tant que module semble être bien parce que j'ai appliqué la même approche sur le projet C et cela fonctionne bien dans le projet A.

Je suis un débutant complet pour android. Toute aide serait appréciée.

Répondre

2

Assurez-vous que vous avez les dépendances correctement:

1) Dans le fichier settings.gradle:

include ':app', ':projectB', ':projectC' 

2) Dans le build.gradle (Module: app):

compile project(':projectB') 
compile project(':projectC') 

3) Si projectB utilise une bibliothèque externe ajoutée à son dossier libs, vous devez également l'ajouter au dossier principal des bibliothèques de projets (mais ce n'est pas le problème dans votre cas).

+1

Le problème était un peu différent. Étrangement, Android Studio a émis des erreurs sur chaque occurrence de R. Cependant, quand j'ai remplacé ceux dans switch/case par if/else, toutes les erreurs ont disparu, même celles qui ne sont pas dans switch/case statement. –

+1

Ce problème se produit beaucoup pour une raison quelconque. La plupart du temps le nettoyage/reconstruction/redémarrage résout le problème, mais parfois vous pouvez finir par réinstaller studio android – Dawit