Android Studio ne peut tout à coup pas résoudre les symboles

207

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 soudainement android.support.v4 (me offrant la possibilité de supprimer les importations inutilisées). ( android.support.v7 semble cependant convenir).

Ce que j'ai essayé:

  • Reconstruire le projet
  • Nettoyage du projet
  • Synchronisation avec des fichiers Gradle
  • Clôturer le projet, fermer AS et relancer / rouvrir
  • Fichier> Invalider les caches / redémarrer
  • Examiner Lint, n'a rien vu d'évident
  • Une double vérification de toutes les bibliothèques de support est à jour dans le gestionnaire SDK
  • Examen de mon Build.gradle, bien qu'il n'y ait aucun changement et qu'il soit le même que d'habitude, la façon dont il 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 ouvre «Paramètres du projet», j'obtiens une erreur rouge me disant que j'ai des références de bibliothèque en double et que je supprime celles qui ne sont pas utilisées. entrez la description de l'image ici

Mon projet se compile et fonctionne bien mais j'ai vraiment besoin du travail de saisie semi-automatique !! Est-ce que quelqu'un a des suggestions?

entrez la description de l'image ici

Daniel Wilson
la source
66
Chaque mise à jour d'Android Studio brise des projets, j'en ai déjà marre. Pourquoi ne peuvent-ils pas conserver et publier une version utilisable.
Konrad Morawski
3
Avant de nettoyer ou de supprimer un fichier, lisez d'abord cette réponse. Cela peut résoudre votre problème. stackoverflow.com/a/19223269/513413
Hesam
16
"Invalidate Caches / Restart" a fonctionné pour moi.
Eagle_Eye
1
Eu le même problème et corrigé avec la réponse sur ce message SO stackoverflow.com/a/30828772/1550233
johnw182
acceptez cette réponse pour que les utilisateurs ne suppriment rien manuellement stackoverflow.com/a/22901534/7767664
user924

Réponses:

238

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

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

Soit dit en passant, les messages d'erreur que vous voyez dans la boîte de dialogue Structure du projet sont pour la plupart faux.

METTRE À JOUR:

Android Studio 0.4.3 est disponible sur le canal de mise à jour des canaris 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 0.4.3, faites-le nous savoir et essayez de nous donner un ensemble fiable d'étapes à reproduire afin que nous puissions nous assurer que nous avons pris soin de tous les chemins de code.

Scott Barta
la source
3
Cela a fonctionné pour moi. Je devenais fou avec ça, une journée entière à essayer de le comprendre! Merci d'avoir répondu.
Patrick Kafka
25
Pour moi, il suffisait de supprimer le dossier des bibliothèques en .idea et le projet de synchronisation de presse avec gradle.
Gabriel Ittner
2
J'ai le même problème avec 0.8.9 et j'ai essayé toutes les solutions listées ici sans succès :(
Rémy DAVID
3
N'a pas fonctionné pour moi dans AndroidStudio 1.2 RC. C'est un cauchemar.
RED_
7
Cela se produit toujours en 2018 et votre réponse a été utile. Je souhaite que cela ait été corrigé cependant ... arrivé dans AS 3.1.1.
Demogorii
302

Aucune des choses mentionnées plus tôt ici n'a vraiment fonctionné pour moi. Mais j'ai trouvé cette entrée de menu dans le menu fichier Invalidate Caches/Restartqui 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 dit Indexing...pendant une minute environ, ce qui a apparemment fait des merveilles.

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

Victor Häggqvist
la source
2
A travaillé pour moi le 0.5.9
Father Stack le
19
Pour moi, j'ai eu une panne de courant lors du chargement des studios Android 0.8.2 et il ne reconnaîtra aucune de mes importations java et tout était juste rouge. Cela a fonctionné pour moi, merci!
Simon
2
J'utilise Android Studio 1.0.2, lorsque j'ai ouvert mon projet, j'étais plein d'erreurs rouges. je l'ai résolu par android studio -> fichier -> invalider les chaches / redémarrer. lorsque mon projet a redémarré, cela a fonctionné ... pas d'erreurs rouges
SoftEye
4
Android Studio 1.1.0. J'ai également eu une panne de courant, et cela a fait l'affaire.
Phito
2
Ce devrait maintenant être la bonne réponse. J'ai confirmé avec Android Studio 1.4 final.
Davideas
58

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

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

2.) Sélectionnez l'option: "Invalidate Cache / Restart .." Cela ouvrira une boîte de dialogue.

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

4.) Il fermera le studio et le redémarrera. 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

Manmohan Soni
la source
1
pour Android Studio 3+: stackoverflow.com/questions/50313885/…
user1506104
A travaillé pour moi sur Android Studio 3.5.3
flawyte
13

Android Studio 1.3

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

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

Mathieu de Brito
la source
Où puis-je trouver les paramètres du module?
bendaf
3
@bendaf Faites un clic droit sur votre module dans l'explorateur et sélectionnez "Ouvrir les paramètres du module"
Jason Robinson
Ces paramètres peuvent également être trouvés dans Fichier -> Structure du projet -> Propriétés
ChumiestBucket
10

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

Helzgate
la source
A travaillé pour moi! Merci! Utiliser canary build 1.0RC 1. Utiliser minifyEnabled trueou minifyEnabled falseet ne pas définir proguardFiles.
Kalem
N'oubliez pas non plus que les projets AndroidLibrary n'exécutent pas proguard stackoverflow.com/a/10992604/665823 .
Kalem
4

J'utilise Android Studio 3.1.4 et je rencontrais un tel problème lors du passage de ma branche de développement avec une cible api inférieure à une autre branche avec api cible Oreo. J'ai essayé la première solution qui a fonctionné mais elle est assez délicate, tandis que la deuxième solution n'a pas résolu le problème.

Ma solution Lorsque le problème est réapparu, j'ai essayé de modifier légèrement mon fichier gradle d'application en AS pour me demander de synchroniser les fichiers, et cela a fait l'affaire. J'ai ensuite supprimé la modification.

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

J'espère que ça aide

Aenon
la source
3

Il existe une solution beaucoup plus facile intégrée à Android Studio, et cela fonctionne généralement pour moi sans avoir besoin d'une solution de force brute mentionnée dans d'autres réponses - vous devez donc essayer ceci en premier: entrez la description de l'image ici

cliquez sur le symbole "gradle" sur le côté droit d'Android Studio, puis sur l'outil "Actualiser tous les projets Gradle".

Amir Uval
la source
2

Je pensais que je jetterais ça aussi:

la chose qui a fonctionné pour moi était de changer ma variante de construction en une variante qui fonctionnait précédemment. Pour une raison quelconque, j'avais changé cela avant (et j'ai oublié pourquoi).

de toute façon, la meilleure chose à faire est d'essayer de se souvenir de ce que vous avez changé ce jour-là (cela pourrait être quelque chose d'aussi mineur que le nettoyage, ou revenir à un git commit précédent) ... etc.

cela permet également d'essayer de resynchroniser gradle et de forcer une reconstruction.

David T.
la source
1

Aux prises avec le même problème pendant quelques heures ce matin. Construire mon projet à partir de la ligne de commande semble avoir fait l'affaire pour moi.

Étapes exactes -

  1. Nouveau référentiel cloné (aucun fichier de studio Android n'est en dépôt)
  2. Projet de débogage construit à partir de la ligne de commande (./gradlew clean assembleDebug)
  3. Ouvrir Android Studio, importer un projet

Pour vérifier si cela a fonctionné, recherchez dans le dossier des projets éclatés de vos projets, inspectez une bibliothèque et recherchez le fichier classes.jar. S'il est extensible, alors tout ira bien.

edit - j'ai trouvé après avoir fait un nettoyage dans le studio Android, il s'est cassé à nouveau. Donc, si vous devez nettoyer, vous devrez recommencer ce processus.

Kevin Grant
la source
Je ne sais pas quel était le problème, mais l'assemblage propre de Gradle fonctionne et tout est bien pour le moment
Killer
1

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

Ma solution a été de supprimer le répertoire ~ / .AndroidStudioPreview (dans Ubuntu). Désolé, je n'ai aucune idée où est-il dans un autre OS. Ce répertoire stocke les fichiers temporaires et les paramètres d'Android Studio, j'ai donc manqué tous mes paramètres. Mais ça marche!

DmitryDzz
la source
A aussi fonctionné pour moi. (Android Studio 0.6.0 sur Elementary OS)
rogeriolino
1

Une autre façon est de télécharger JDK 1.7 et de changer le chemin depuis Android Studio dans le message d'erreur .. et choisissez le dossier Home qui est contenu dans le dossier Jdk 1.7

Panos
la source
1

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

J'utilise Android Studio 0.8.6.

opens_eyes_media
la source
1

J'ai résolu ce problème en supprimant le settings.gradlesous-projet de mon module. C'est un projet Java Gradle avec son propresettings.gradle fichier qui en quelque sorte le gâche.

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

sourcils blancs
la source
1

J'ai essayé de nettoyer le projet, puis d'invalider le cache, 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 synchroniser, puis de décommenter à nouveau les dépendances, puis de synchroniser à nouveau. Bob est ton oncle.

CKP78
la source
0

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

1) Projet .inside sous le dossier .idea, ouvrez modules.xml. 2). Vérifiez 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 reconstruisez le fichier Gradle.

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

Gagandeep Singh
la source
0

Je l'ai résolu en définissant JDK. J'ai reçu un pop-up disant que Setup JDK lorsque j'ai placé la souris sur l'erreur.

varghesekutty
la source
0

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 du répertoire DOIT être:

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

Rémy DAVID
la source
0

J'ai finalement trouvé les causes de ce problème.

En fait, vous devez éviter de pousser le .idea/librariesdossier vers votre référentiel. Il crée des choses étranges dans Android Studio qui ont tendance à supprimer toutes les bibliothèques téléchargées.

Si vous avez un historique de validation, recréez simplement tous les fichiers de bibliothèque manquants et évitez qu'ils ne soient à nouveau validés. Sinon, supprimez simplement le .ideadossier entier et réimportez-le dans AS.

Adrien Cadet
la source
0

essayez de changer votre build.gradle avec ces valeurs:

android {compileSdkVersion 18 buildToolsVersion '21 .0.1 '

defaultConfig {
    minSdkVersion 18
    targetSdkVersion 18
}
Fakher
la source
0

J'utilise des 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.

Badr
la source
0

Veuillez vérifier 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 principale - puisque de nombreuses applications Java ne semblent pas tolérer de tels caractères spéciaux (par exemple, faire un `` nettoyage gradlew '' du terminal échouerait et lèverait une RunTimeException.). Aucune des autres solutions publiées en ligne ne m'avait aidé. Mais, une fois que j'ai retiré le! du chemin et a fait une construction propre, Android Studio a fonctionné comme par magie.

Jim C
la source
0

J'ai essayé tout ce qui est répertorié ici. Ensuite, j'ai vérifié mon androidmanifest.xml, j'avais des erreurs de concordance stoopid en raison des renommages de dossiers et des renommages de packages.

JDOaktown
la source
0

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 que
1. la version des bibliothèques communes est la même parmi les modules.
2. chacun des modules se compile sans aucune erreur (essayez de construire chacun d'eux à partir de CLI).

surlac
la source
0

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 package de fichiers dans ce dossier est «com.wwhat.helpers», cela ne provoquera aucune erreur de compilation mais le studio Android ne chargera pas les symboles dans ce dossier. . Une raison typique à cela est lorsque vous nommez un dossier avec la première lettre majuscule, le validez sur Git et changez plus tard le nom du dossier en minuscules. Le système Git ne reconnaîtra pas le changement résultant en une différence entre les référentiels locaux et distants dont seuls les nouveaux clones de référentiel seront affectés.

Eduardo Cobuci
la source
0

J'avais une solution beaucoup plus étrange. Dans le cas où quelqu'un se heurte à cela, cela vaut la peine de vérifier votre fichier de notes. Il s'avère que pendant que je clonais ce git et que gradle était en cours d'exécution, il a supprimé une ligne de mon fichier build.gradle (app).

dependencies {
     provided files(providedFiles)

Évidemment, le problème ici était de simplement l'ajouter et de le resynchroniser avec gradle.

Blaze Gawlik
la source
0

J'ai eu un problème similaire lorsque j'ai reconstruit un fichier aar et remplacé l'ancien dans mon projet par le nouveau. J'ai parcouru toutes les solutions ici et aucune n'a résolu mon problème. J'ai réalisé plus tard que minifyEnabled avait été défini sur true dans le projet de bibliothèque, ce qui a effectivement supprimé beaucoup de code mort qui n'était pas utilisé dans le projet de bibliothèque.

Ma solution était de définir minifyEnabled sur false dans le projet de bibliothèque, d'assembler l'aar, de le copier dans mon projet, d'invalider les caches et de synchroniser le projet de qualité et tout fonctionnait bien.

Cool Guy CG
la source