web-dev-qa-db-fra.com

Android Studio ne parvient pas à résoudre les symboles

Android Studio 0.4.2 fonctionnait bien et aujourd'hui, je l'ai ouvert et presque tout était rouge et l'auto-complétion avait cessé de fonctionner. Je regarde les importations et AS semble me dire qu'il ne peut pas trouver Android.support.v4 tout à coup (me proposant de supprimer les importations non utilisées). (Android.support.v7 semble bien se passer).

Choses que j'ai essayées:

  • Reconstruire le projet
  • Nettoyage du projet
  • Synchroniser avec des fichiers Gradle
  • Clôture du projet, fermeture d'AS et relance/réouverture
  • Fichier> Invalider les caches/redémarrer
  • Examiner la peluche, n'a rien vu d'évident
  • Vérifiez deux fois que toutes les bibliothèques de support sont à jour dans le gestionnaire de SDK
  • Examiner mon Build.gradle, bien qu’il n’y ait pas de changements et que c’est la même chose que d’habitude, comme cela fonctionnait tout le temps.

Ici c'est au cas où c'est pertinent:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:0.7.+'
    }
}
apply plugin: 'Android'

repositories {
    mavenCentral()
}

Android {
    compileSdkVersion 19
    buildToolsVersion '19.0.0'

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
    }
}

dependencies {
    compile 'com.Android.support:support-v4:19.0.0'
    compile 'com.Android.support:gridlayout-v7:19.0.0'
    compile 'com.Android.support:appcompat-v7:19.0.0'
    compile 'com.google.Android.gms:play-services:4.0.30'
    compile project(':libraries:facebook')
    compile files('libs/core.jar')
}

Lorsque je clique sur "Synchroniser avec Gradle" et que j'ouvre "Paramètres du projet", une erreur rouge m'indique que j'ai des références de bibliothèque en double et que je supprime celles qui ne sont pas utilisées. enter image description here

Mon projet se compile et fonctionne bien mais j'ai vraiment besoin de l'auto-complétion !! Est-ce que quelqu'un a des suggestions?

enter image description here

198
Daniel Wilson

Vous avez déjà parcouru la liste de la plupart des choses qui pourraient être utiles, mais vous pouvez essayer:

  • Quitter Android Studio
  • Sauvegardez votre projet
  • Supprimer tous les fichiers .iml et le dossier .idea
  • Relancez Android Studio et réimportez votre projet

En passant, les messages d'erreur que vous voyez dans la boîte de dialogue Structure de projet sont pour l’essentiel fausses.

MISE À JOUR:

Android Studio 0.4.3 est disponible sur le canal de mise à jour de Canary et devrait, espérons-le, résoudre la plupart de ces problèmes. Il peut y avoir des problèmes persistants; Si vous les voyez dans la 0.4.3, signalez-le-nous et essayez de nous donner un ensemble fiable d'étapes à reproduire afin que nous puissions nous assurer que nous avons pris en charge tous les chemins de code.

228
Scott Barta

Aucune des choses mentionnées plus tôt ici ne fonctionnait réellement pour moi. Mais ensuite, j'ai trouvé cette entrée de menu dans le menu Fichier Invalidate Caches/Restart qui semble avoir résolu le problème.

Je ne sais pas vraiment ce qui s'est passé en arrière-plan, mais lorsque Android Studio a redémarré, la barre d'état a indiqué Indexing... pendant une minute environ, ce qui a apparemment fait des merveilles.

Pour référence, j'utilise Android Studio 0.5.4.

292

Passez par le lien et cela a fonctionné pour moi.

1.) Choisissez l’option Fichier dans le menu en haut à gauche de Android studio.

2.) Sélectionnez l’option: "Invalidate Cache/Restart .." Une boîte de dialogue s’ouvrira.

3.) Cliquez sur le premier bouton avec l'option: "Invalider et redémarrer"

4.) Il va fermer le studio et le redémarrer. Commencez l'indexation du projet.

Cela a résolu mon problème:

Fichier -> Invalider le cache/redémarrer -> Invalider et redémarrer

Source: https://www.youtube.com/watch?v=FX_gCTpqhwM

54
Manmohan Soni

Android Studio 1.

  1. Ouvrir Paramètres du module
  2. Cliquez sur votre module sous le menu Modules
  3. Dans l'onglet propriétés, définissez les compatibilité de la source et compatibilité de la cible sur votre version Java.

Je n'ai rien fait d'autre et cela a fonctionné pour moi.

12
Mathieu de Brito

Pour moi, c’était une entrée de construction "proguard" dans mon build.gradle. J'ai supprimé toute la section de construction, puis j'ai resynchronisé et résolu le problème.

9
Helzgate

J'utilise Android Studio 3.1.4 et je rencontrais un problème de ce type lorsque je passais de ma branche de développement avec une cible d'api inférieure à une autre branche avec une api cible, Oreo. J'ai essayé la première solution qui a fonctionné mais c'est assez compliqué, alors que la deuxième solution n'a pas résolu le problème.

Ma solution Lorsque le problème est revenu, j'ai essayé de modifier légèrement mon fichier de dégradé d'application suffisamment pour que AS puisse me demander de synchroniser des fichiers, ce qui a fait l'affaire. Ensuite, j'ai supprimé le changement.

Je suppose que "Sync Project with Gradle Files" pourrait également fonctionner, mais je ne l'ai pas essayé moi-même.

J'espère que ça aide

2
Aenon

Je pensais que je lancerais ça aussi:

ce qui a fonctionné pour moi a été de changer ma variante de construction en une variante qui fonctionnait auparavant. Pour une raison quelconque, j'avais déjà changé cela auparavant (et j'avais oublié pourquoi).

quoi qu’il en soit, la meilleure chose à faire est d’essayer de vous rappeler ce que vous avez changé ce jour-là (cela peut être aussi mineur que de nettoyer, ou de revenir à un précédent commit git) ... etc.

il est également utile d’essayer de resynchroniser et de forcer une reconstruction.

2
David T.

Il existe une solution beaucoup plus simple intégrée à Android Studio, et elle fonctionne généralement pour moi sans avoir besoin de la solution de la force brute mentionnée dans les autres réponses - vous devriez donc essayer ceci en premier: enter image description here

cliquez sur le symbole "gradle" situé à droite de Android Studio, puis sur l'outil "Actualiser tous les projets Gradle".

2
Amir Uval

J'ai essayé de nettoyer le projet puis d'invalider le cache, ce qui n'a pas fonctionné. Ce qui a fonctionné pour moi a été de commenter toutes mes dépendances dans build.gradle (app), puis de les synchroniser, puis de les commenter à nouveau, puis de les synchroniser à nouveau. Bob est ton oncle.

1
CKP78

Lutte contre le même problème pendant quelques heures ce matin. Construire mon projet en ligne de commande semble avoir fait l'affaire pour moi.

Étapes exactes -

  1. Nouveau référentiel cloné (aucun fichier Android studio n'est en référentiel)
  2. Projet de débogage intégré à partir de la ligne de commande (./gradlew clean assembleDebug)
  3. Ouvrez Android Studio, importez le projet

Pour vérifier si cela a fonctionné, recherchez dans le dossier de votre projet explosés-ensembles, inspectez une bibliothèque et recherchez le fichier classes.jar. Si elle est extensible, tout ira bien.

modifier - j'ai trouvé après un nettoyage dans Android studio, il a de nouveau éclaté. Donc, si vous devez nettoyer, vous devrez refaire ce processus.

1
Kevin Grant

Une autre méthode consiste à télécharger JDK 1.7 et à modifier le chemin de Android Studio dans le message d'erreur .. et à choisir le dossier Home contenu dans le dossier Jdk 1.7.

1
Panos

Aucune de ces méthodes ne m'a aidé dans Android Studio 0.5.8.

Ma solution consistait à supprimer le répertoire ~/.AndroidStudioPreview (dans Ubuntu). Désolé, je ne sais pas où se trouve-t-il dans un autre système d'exploitation. Ce répertoire stocke les fichiers temporaires et les paramètres Android Studio. J'ai donc oublié tous mes paramètres. Mais ça marche!

1
DmitryDzz

J'ai le même problème aujourd'hui. Corrigé en modifiant l'emplacement de jdk dans la structure du projet de \Java\jdk1.7.0_05 à \Java\jdk1.7.0_25 (que je ne connaissais pas jusqu'à présent).

J'utilise Android Studio 0.8.6.

1
opened_eyes_media

J'ai résolu ce problème en supprimant le settings.gradle de mon sous-projet de module. C'est un projet Java Gradle avec son propre fichier settings.gradle qui le gomme de toute façon.

Merci à ce gars: https://stackoverflow.com/a/33978721/425238

1
whitebrow

J'ai tout essayé ici. Ensuite, j'ai vérifié mon fichier androidmanifest.xml. J'avais eu une mauvaise correspondance en raison de la modification du nom du dossier et du package.

0
JDOaktown

S'il vous plaît vérifiez si vous avez un chemin de projet qui a des caractères spéciaux comme! (point d'exclamation).

Dans un problème similaire que j'ai rencontré , c'était la cause première du problème - de nombreuses applications Java semblant ne pas tolérer de tels caractères spéciaux (par exemple, un "nettoyage en clair" à partir du terminal échouerait et lancer une exception RunTimeException.). Aucune des autres solutions affichées en ligne ne m'avait aidé. Mais, une fois que j'ai enlevé le! depuis le chemin et fait une construction propre, Android Studio a fonctionné comme par magie.

0
Jim C

J'ai eu une solution beaucoup plus étrange. Au cas où quelqu'un se heurterait à cette situation, cela vaut la peine de vérifier votre fichier Gradle. Il se trouve que pendant que je clonais ce git et que gradle s’exécutait, il a supprimé une ligne de mon fichier build.gradle (app).

dependencies {
     provided files(providedFiles)

Évidemment, le problème ici était simplement de le rajouter et de le resynchroniser avec Gradle.

0
Blaze Gawlik

Dans mon projet multi-module, le problème était que la version de "com.Android.support:appcompat-v7" dans le module A était "22.0.0", mais dans B - "22.2.0".

Solution: assurez-vous
1. la version des bibliothèques communes est la même parmi les modules.
2. chacun des modules compile sans erreur (essayez de construire chacun d’eux à partir de la CLI).

0
surlac

Sachez que le nom des fichiers et spécialement des dossiers peut entraîner cette erreur. Par exemple, si vous avez un dossier "Helpers" et que le paquet pour les fichiers de ce dossier est "com.w Whatever.helpers", cela n'entraînera aucune erreur de compilation, mais fera échouer le studio Android. charger les symboles dans ce dossier. Une raison typique à cela est que vous nommez un dossier avec la première lettre majuscule, le validez sur Git et que vous modifiez ensuite le nom du dossier en minuscule. Le système Git ne reconnaîtra pas le changement, ce qui entraînera une différence entre les référentiels local et distant, qui affectera uniquement les nouveaux clones de référentiel.

0
Eduardo Cobuci

J'ai enfin compris ce qui cause ce problème.

En fait, vous devriez éviter de placer le dossier .idea/libraries dans votre référentiel. Il crée des éléments bizarres dans Android Studio, qui a tendance à supprimer toutes les bibliothèques téléchargées.

Si vous avez un historique de validation, il vous suffit de recréer tous les fichiers de bibliothèque manquants et d'éviter qu'ils ne soient à nouveau validés. Sinon, supprimez tout le dossier .idea et réimportez-le dans AS.

0
Adrien Cadet

J'ai eu le même problème, aucune des solutions énumérées ici n'a fonctionné. Le problème était que mes fichiers source n'étaient pas dans le bon dossier.

La structure de répertoire DOIT être:

[project]\[module]\src\main\Java\[yourpackage]\[yourclass.Java]

0
Rémy DAVID

J'ai rencontré un problème similaire mais j'ai suivi les étapes suivantes dans mon cas: -

1) .inside projet dans le dossier .idea, ouvrez modules.xml. 2) .check s'il y a deux entrées pour le même fichier iml. 3). Supprimez l’une des entrées en double et fermez Android studio ou créez à nouveau le fichier de niveaux.

Dans mon cas cela a fonctionné. J'espère que ça aide

0
Gagandeep Singh

J'utilise les préférences partagées, mais Android Studio s'est plaint du symbole de l'éditeur. Ensuite, j'ai ajouté

import Android.content.SharedPreferences.Editor;

et le symbole est cool maintenant.

0
fullMoon

Une autre cause très subtile:

La bibliothèque multi-arômes doit être compilée de manière spécifique par rapport à une arôme unique normale. Sinon, il produit en silence ne peut pas résoudre les erreurs de symboles .

Application multi-saveurs basée sur la bibliothèque multi-saveurs dans Android Gradle

0
WindRider

essayez de changer votre build.gradle avec ces valeurs:

Android {compileSdkVersion 18 buildToolsVersion '21 .0.1 '

defaultConfig {
    minSdkVersion 18
    targetSdkVersion 18
}
0
Fakher

Je l'ai résolu en paramétrant JDK. J'ai eu une fenêtre contextuelle disant que le programme d'installation JDK lorsque j'ai placé la souris sur l'erreur.

0
varghesekutty