105 votes

Android Studio dit "ne peut pas résoudre le symbole" mais le projet compile

Je suis en train d'importer twitter4j dans AndroidStudio, en utilisant le code suivant dans mon build.gradle :

dependencies {
  compile 'com.android.support:support-v4:18.0.+'
  compile files('libs/twitter4j-core-3.0.4.jar')
}

Le projet compile bien, et je peux créer des objets twitter sans problème. Cependant, dans Android Studio, tout ce qui fait référence à cette bibliothèque montre "cannot resolve symbol" et s'affiche en rouge. Que dois-je faire pour que Android Studio reconnaisse la bibliothèque ?

J'ai déjà essayé de reconstruire le projet, ./gradlew clean, et de fermer et de rouvrir mon projet.

1voto

drJava Points 54

Pour ceux qui ont essayé la réponse acceptée et n'ont pas eu de succès,

J'ai également essayé la réponse acceptée et cela n'a pas fonctionné pour moi. Après cela, j'ai mis à jour mon projet avec le référentiel et synchronisé le projet, les avertissements "could not resolve" ont disparu.

1voto

TomCobo Points 1431

Invalidation du cache n'a pas fonctionné pour moi (cette fois-ci). Pour moi, il a suffi de modifier le gradle et de resynchroniser à nouveau. Ou https://stackoverflow.com/a/29565362/2000162

1voto

user1587329 Points 91

Si rien d'autre n'a fonctionné, vous pourriez suivre les recommandations de Android Studio suddenly cannot resolve symbols :

  • Quittez Android Studio
  • Sauvegardez votre projet
  • Supprimez tous les fichiers .iml et le dossier .idea
  • Relancez Android Studio et réimporte votre projet

0voto

user3549463 Points 1

Dans mon cas, j'avais créé un nouveau fichier en utilisant l'interface graphique et défini une interface à l'intérieur du fichier. Je recevais toujours cette erreur de symbole parce que le fichier n'était pas un fichier "java". Il n'avait aucune extension du tout.

Après avoir modifié l'extension du fichier en ".java", le système trouve correctement les symboles.

0voto

Mahe Points 402

Dans mon cas, le fichier jar n'avait pas de fichier META-INF/MANIFEST.MF. Après en avoir ajouté un, ça a fonctionné !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X