web-dev-qa-db-fra.com

Android Studio ne peut pas résoudre le symbole mais le code s'exécute correctement

J'ai récemment créé un fichier Jar de bibliothèque que j'ai importé dans mon projet Android. Je peux appeler des fonctions et utiliser les classes présentes dans ce fichier Jar, mais Android Studio n'arrête pas de me dire qu'il ne peut pas "résoudre le symbole" de la classe que j'utilise. S'il vous plaît voir la capture d'écran ci-dessous:

SDK class - cannot find symbol

Cliquez ici pour agrandir l'image

Le code est construit et exécuté avec succès. La fonction isThisThingWorking() renvoie simplement true, et c’est précisément ce à quoi boolean blah est défini.

J'ai essayé d'appuyer sur le bouton Sync Project with Gradle Files et d'utiliser l'option Invalidate Caches / Restart... du menu File d'Android Studio, mais rien de tout cela n'a résolu le problème. Que puis-je faire pour que Android Studio IDE n'affiche pas l'erreur Cannot resolve symbol 'xxxSDK'?

47
BVB

J'ai trouvé le problème - mon SDK.jar n'a pas été généré correctement. Il incluait des fichiers .Java au lieu de fichiers .class. Cela explique pourquoi IDE n'a pas pu trouver la classe SDK. La structure du package était toujours correcte dans le fichier Jar, ce qui explique pourquoi le nom du package lui-même n'est pas de couleur rouge. Le code a fonctionné correctement, car le compilateur a su compiler les fichiers .Java.

Pour résoudre ce problème, j'ai modifié mon build.gradle de mon projet SDK afin d'inclure les fichiers .class au lieu des fichiers .Java lors de la création du fichier Jar. L'inclusion de ce nouveau Jar à la place de l'ancien Jar a résolu le problème IDE.

5
BVB

J'ai rencontré ce problème lorsque IntelliJ IDEA a été fermé brutalement en raison d'un crash du système d'exploitation.

Vous pouvez faire "Fichier" -> "Invalider les caches ...", et sélectionner l'option "Invalider et redémarrer" pour résoudre ce problème.

114
Senthil

Essayez d’ajouter la bibliothèque au Project Structure.

Pour ce faire, dans le menu, choisissez File -> Project Structure. Sélectionnez l'option Libraries et cliquez sur le + vert pour ajouter votre bibliothèque.

3
free3dom

Cela m’arrivait toujours après le changement de branche de mon projet actuel: beaucoup d’erros non-sens signalés par l’EDI.

La solution consiste à modifier et forcer a build.gradle synchronisation .

1
Machado

Ce problème est généré régulièrement dans Android 3.1. J'ai essayé tous les moyens possibles. Mais il a résolu lorsque je supprime .gradle et .idea file et démarre Android Studio qui est déjà proche.

Android studio crée à nouveau le fichier .idea et .gradle pour votre projet. Après cela, cliquez sur sync project with gradle . Maintenant tout fonctionne bien. 

1
Sumit Kumar

Essayez les étapes suivantes:

  1. Fermez votre projet puis dans votre dossier de projet, supprimez le projet /.idea
  2. Supprimer le dossier /.gradle également
  3. Non, choisissez l'option File dans le menu situé en haut à gauche du studio Android
  4. Sélectionnez l'option: Invalidate Cache/Restart Cela ouvrira une boîte de dialogue
  5. Cliquez sur le premier bouton avec l'option: Invalidate and Restart

Après avoir essayé les options ci-dessus, tout devrait bien fonctionner.

0
0xalihn

Changer les paramètres d'injection de langue a fonctionné pour moi.

Placez le curseur sur l'un des codes soulignés en rouge et Alt + Enter

 enter image description here

Sélectionnez maintenant Language Injection Settings et une fenêtre s’ouvrira comme indiqué ci-dessous.

 enter image description here

Assurez-vous que vous avez sélectionné le bon type de fichier dans le champ ID: et décochez les options liées à vos codes d'erreur, puis cliquez sur OK.

 enter image description here

J'espère que ça aide quelqu'un.

0
Tricky Bay