Android Studio kann plötzlich keine Symbole mehr auflösen

207

Android Studio 0.4.2 funktionierte einwandfrei und heute habe ich es geöffnet und fast alles war rot und die automatische Vervollständigung hatte aufgehört zu funktionieren. Ich schaue mir die Importe an und AS scheint mir zu sagen, dass es android.support.v4 nicht plötzlich finden kann (bietet mir die Möglichkeit, die nicht verwendeten Importe zu entfernen). ( android.support.v7 scheint aber in Ordnung zu sein).

Dinge, die ich versucht habe:

  • Projekt neu erstellen
  • Projekt reinigen
  • Synchronisieren mit Gradle-Dateien
  • Projekt schließen, AS schließen und neu starten / öffnen
  • Datei> Caches ungültig machen / neu starten
  • Als ich Lint untersuchte, sah ich nichts Offensichtliches
  • Überprüfen Sie im SDK-Manager, ob alle Support-Bibliotheken auf dem neuesten Stand sind
  • Untersuche mein Build.gradle, obwohl es keine Änderungen gibt und es das gleiche wie gewöhnlich ist, wie es die ganze Zeit funktioniert hat.

Hier ist es für den Fall, dass es relevant ist:

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')
}

Wenn ich auf "Mit Gradle synchronisieren" drücke und "Projekteinstellungen" öffne, wird eine rote Fehlermeldung angezeigt, die besagt, dass ich doppelte Bibliotheksreferenzen habe und die nicht verwendeten entfernen soll. Geben Sie hier die Bildbeschreibung ein

Mein Projekt wird kompiliert und läuft gut, aber ich brauche wirklich die automatische Vervollständigung !! Hat jemand irgendwelche Vorschläge?

Geben Sie hier die Bildbeschreibung ein

Daniel Wilson
quelle
66
Jedes einzelne Android Studio-Update bricht Projekte, ich habe es schon satt. Warum können sie sich nicht festhalten und eine verwendbare Version veröffentlichen?
Konrad Morawski
3
Lesen Sie diese Antwort zuerst, bevor Sie Dateien bereinigen oder entfernen. Es kann Ihr Problem lösen. stackoverflow.com/a/19223269/513413
Hesam
16
"Caches ungültig machen / neu starten" hat bei mir funktioniert.
Eagle_Eye
1
Hatte das gleiche Problem und behoben mit der Antwort auf diesen SO-Beitrag stackoverflow.com/a/30828772/1550233
johnw182
Akzeptieren Sie diese Antwort, damit Benutzer nichts manuell löschen. stackoverflow.com/a/22901534/7767664
user924

Antworten:

238

Sie haben bereits die Liste der meisten Dinge durchgesehen, die hilfreich wären, aber Sie könnten versuchen:

  • Beenden Sie Android Studio
  • Sichern Sie Ihr Projekt
  • Löschen Sie alle IML-Dateien und den IDE-Ordner
  • Starten Sie Android Studio neu und importieren Sie Ihr Projekt erneut

Übrigens sind die Fehlermeldungen, die Sie im Dialogfeld "Projektstruktur" sehen, größtenteils falsch.

AKTUALISIEREN:

Android Studio 0.4.3 ist im kanarischen Update-Kanal verfügbar und sollte hoffentlich die meisten dieser Probleme lösen. Es kann einige anhaltende Probleme geben; Wenn Sie sie in 0.4.3 sehen, lassen Sie es uns wissen und versuchen Sie, uns zuverlässige Schritte zur Reproduktion zu geben, damit wir sicherstellen können, dass wir uns um alle Codepfade gekümmert haben.

Scott Barta
quelle
3
Das hat bei mir funktioniert. Ich war verrückt danach, einen ganzen Tag lang zu versuchen, es herauszufinden! Danke für die Antwort.
Patrick Kafka
25
Für mich war es genug, den Bibliotheksordner in .idea und das Press Sync-Projekt mit gradle zu löschen.
Gabriel Ittner
2
Ich habe das gleiche Problem mit 0.8.9 und habe alle hier aufgeführten Lösungen ohne Glück ausprobiert :(
Rémy DAVID
3
Hat bei mir in AndroidStudio 1.2 RC nicht funktioniert. Das ist ein Albtraum.
RED_
7
Dies geschieht immer noch im Jahr 2018 und Ihre Antwort war hilfreich. Ich wünschte, dies wäre behoben worden ... Geschah in AS 3.1.1.
Demogorii
302

Keines der zuvor hier erwähnten Dinge hat tatsächlich für mich funktioniert. Aber dann habe ich diesen Menüeintrag im Dateimenü gefunden, Invalidate Caches/Restartder das Problem behoben zu haben scheint.

Ich weiß nicht wirklich, was im Hintergrund passiert ist, aber als Android Studio wieder gestartet wurde, wurde in der Statusleiste etwa Indexing...eine Minute lang angezeigt, was anscheinend Wunder bewirkt hat.

Als Referenz verwende ich Android Studio 0.5.4.

Victor Häggqvist
quelle
2
Arbeitete für mich am 0.5.9
Father Stack
19
Für mich hatte ich einen Stromausfall, als Android Studios 0.8.2 geladen wurde und es wird keinen meiner Java-Importe erkennen und alles war nur rot. Das hat bei mir funktioniert, danke!
Simon
2
Ich benutze Android Studio 1.0.2, als ich mein Projekt öffnete, war ich voller roter Fehler. Ich habe es durch Android Studio gelöst -> Datei -> Chaches ungültig machen / neu starten. Als mein Projekt neu gestartet wurde, funktionierte es. Keine roten Fehler
SoftEye
4
Android Studio 1.1.0. Ich hatte auch einen Stromausfall, und das hat den Trick gemacht.
Phito
2
Dies sollte nun die richtige Antwort sein. Ich habe mit Android Studio 1.4 endgültig bestätigt.
Davideas
58

Gehen Sie durch den Link und es hat bei mir funktioniert.

1.) Wählen Sie die Option Datei aus dem Menü links oben in Android Studio.

2.) Wählen Sie die Option: "Cache / Neustart ungültig machen". Daraufhin wird ein Dialogfeld geöffnet.

3.) Klicken Sie auf die erste Schaltfläche mit der Option: "Ungültig machen und neu starten"

4.) Das Studio wird geschlossen und neu gestartet. Starten Sie die Indizierung des Projekts.

Es hat mein Problem gelöst:

Datei -> Cache / Neustart ungültig machen -> Ungültig machen und neu starten

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

Manmohan Soni
quelle
1
für Android Studio 3+: stackoverflow.com/questions/50313885/…
user1506104
Arbeitete für mich unter Android Studio 3.5.3
Fehler
13

Android Studio 1.3

  1. Öffnen Sie die Moduleinstellungen
  2. Klicken Sie im Menü Module auf Ihr Modul
  3. Im Register Eigenschaften , stellen Sie die Quelle Kompatibilität und Ziel Kompatibilität zu Ihrer Java - Version.

Ich habe nichts anderes getan und es hat bei mir funktioniert.

Mathieu de Brito
quelle
Wo finde ich Moduleinstellungen?
Bendaf
3
@ Bendaf Klicken Sie mit der rechten Maustaste auf Ihr Modul im Explorer und wählen Sie "Moduleinstellungen öffnen"
Jason Robinson
Diese Einstellungen finden Sie auch unter Datei -> Projektstruktur -> Eigenschaften
ChumiestBucket
10

Für mich war es ein "progaurd" Build-Eintrag in meinem build.gradle. Ich habe den gesamten Build-Abschnitt entfernt, dann eine erneute Synchronisierung durchgeführt und das Problem behoben.

Helzgate
quelle
Hat für mich gearbeitet! Vielen Dank! Verwenden von Canary Build 1.0RC 1. Verwenden von minifyEnabled trueoder minifyEnabled falseund nicht definieren proguardFiles.
Kalem
Vergessen Sie auch nicht, dass in AndroidLibrary-Projekten proguard stackoverflow.com/a/10992604/665823 nicht ausgeführt wird .
Kalem
4

Ich verwende Android Studio 3.1.4 und habe ein solches Problem festgestellt, als ich von meinem Entwicklungszweig mit einem Ziel mit niedrigerer API zu einem anderen Zweig mit Ziel-API Oreo gewechselt bin. Ich habe die erste Lösung ausprobiert, die funktioniert hat, aber sie ist ziemlich schwierig, während die zweite Lösung das Problem nicht gelöst hat.

Meine Lösung Als das Problem erneut auftrat, habe ich versucht, meine App-Gradle-Datei so weit zu ändern, dass AS mich auffordert, Dateien zu synchronisieren, und das hat den Trick getan. Dann habe ich die Änderung gelöscht.

Ich denke, dass "Projekt mit Gradle-Dateien synchronisieren" auch funktionieren könnte, aber ich habe es selbst nicht ausprobiert

Ich hoffe es hilft

Aenon
quelle
3

In Android Studio ist eine weitaus einfachere Lösung integriert, die normalerweise für mich funktioniert, ohne dass eine in anderen Antworten erwähnte Brute-Force-Lösung erforderlich ist. Versuchen Sie dies also zuerst: Geben Sie hier die Bildbeschreibung ein

Klicken Sie auf das Symbol "Gradle" auf der rechten Seite von Android Studio und dann auf das Tool "Alle Gradle-Projekte aktualisieren".

Amir Uval
quelle
2

Ich dachte, ich würde das auch da rauswerfen:

Das, was für mich funktioniert hat, war, meine Build-Variante wieder in eine Variante umzuwandeln, die zuvor funktioniert hat. Aus irgendeinem Grund hatte ich das schon einmal geändert (und ich habe vergessen warum).

In jedem Fall ist es am besten, sich daran zu erinnern, was Sie an diesem Tag geändert haben (es könnte so geringfügig sein wie das Reinigen oder das Zurückkehren zu einem früheren Git-Commit) ... usw.

Es ist auch hilfreich zu versuchen, Gradle neu zu synchronisieren und einen Neuaufbau zu erzwingen.

David T.
quelle
1

Hatte heute Morgen ein paar Stunden mit dem gleichen Problem zu kämpfen. Das Erstellen meines Projekts über die Befehlszeile scheint mir den Trick getan zu haben.

Genaue Schritte -

  1. Geklontes frisches Repository (keine Android Studio-Dateien sind im Repo)
  2. Debug-Projekt über die Befehlszeile erstellt (./gradlew clean assembleDebug)
  3. Öffnen Sie Android Studio, importieren Sie das Projekt

Um zu überprüfen, ob es funktioniert hat, durchsuchen Sie den Ordner mit den Explosionsbündeln Ihres Projekts, überprüfen Sie eine Bibliothek und suchen Sie die Datei classes.jar. Wenn es erweiterbar ist, wird alles in Ordnung sein.

edit - Ich habe festgestellt, dass es nach einer Bereinigung in Android Studio wieder kaputt gegangen ist. Wenn Sie also reinigen müssen, müssen Sie diesen Vorgang erneut ausführen.

Kevin Grant
quelle
Ich weiß nicht, was das Problem war, aber gradle clean assembleDebug funktioniert und alles ist in Ordnung für jetzt
Killer
1

Keine dieser Methoden hat mir in Android Studio 0.5.8 geholfen.

Meine Lösung bestand darin, das Verzeichnis ~ / .AndroidStudioPreview (in Ubuntu) zu löschen. Entschuldigung, ich habe keine Ahnung, wo es in einem anderen Betriebssystem ist. In diesem Verzeichnis werden temporäre Dateien und Android Studio-Einstellungen gespeichert, sodass ich alle meine Einstellungen verpasst habe. Aber es funktioniert!

DmitryDzz
quelle
Hat auch für mich gearbeitet. (Android Studio 0.6.0 unter Elementary OS)
Rogeriolino
1

Eine andere Möglichkeit besteht darin, JDK 1.7 herunterzuladen und den Pfad von Android Studio in der Fehlermeldung zu ändern. Wählen Sie dann den Home-Ordner, der im Jdk 1.7-Ordner enthalten ist

Panos
quelle
1

Habe heute das gleiche Problem. Es wurde behoben, indem der JDK-Speicherort in der Projektstruktur von \java\jdk1.7.0_05auf \java\jdk1.7.0_25geändert wurde (von dem ich bis jetzt nicht wusste, dass er existiert).

Ich benutze Android Studio 0.8.6.

opens_eyes_media
quelle
1

Ich habe dies behoben, indem ich das settings.gradleaus meinem Modul-Teilprojekt entfernt habe. Es ist ein Java Gradle-Projekt mit einer eigenen settings.gradleDatei, die es irgendwie vermasselt.

Vielen Dank an diesen Typen: https://stackoverflow.com/a/33978721/425238

Whitebrow
quelle
1

Ich habe versucht, das Projekt zu bereinigen und dann den Cache ungültig zu machen, was jedoch nicht funktioniert hat. Was für mich funktioniert hat, war, alle meine Abhängigkeiten in build.gradle (App) zu kommentieren, dann zu synchronisieren, die Abhängigkeiten erneut zu kommentieren und dann erneut zu synchronisieren. Bob ist Dein Onkel.

CKP78
quelle
0

Ich hatte ein ähnliches Problem, aber ich habe in meinem Fall die folgenden Schritte ausgeführt:

1) .inside Projekt unter .idea Ordner open modules.xml. 2) .Überprüfen Sie, ob zwei Einträge für dieselbe IML-Datei vorhanden sind. 3) Löschen Sie einen doppelten Eintrag und schließen Sie Android Studio oder erstellen Sie die Gradle-Datei erneut.

In meinem Fall hat es funktioniert. Ich hoffe es hilft

Gagandeep Singh
quelle
0

Ich habe es gelöst, indem ich JDK eingestellt habe. Ich habe ein Popup mit der Meldung "Setup JDK" erhalten, als ich mit der Maus über den Fehler fuhr.

varghesekutty
quelle
0

Ich hatte das gleiche Problem, keine der hier aufgeführten Lösungen funktionierte. Das Problem war, dass sich meine Quelldateien nicht im richtigen Ordner befanden.

Die Verzeichnisstruktur MUSS sein:

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

Rémy DAVID
quelle
0

Ich habe endlich herausgefunden, was dieses Problem verursacht.

Eigentlich sollten Sie vermeiden, .idea/librariesOrdner in Ihr Repository zu verschieben. Es erstellt seltsame Dinge in Android Studio, die dazu neigen, alle heruntergeladenen Bibliotheken zu entfernen.

Wenn Sie einen Festschreibungsverlauf haben, erstellen Sie einfach alle fehlenden Bibliotheksdateien neu und vermeiden Sie, dass sie erneut festgeschrieben werden. Andernfalls entfernen Sie einfach den gesamten .ideaOrdner und importieren ihn erneut in AS.

Adrien Cadet
quelle
0

Versuchen Sie, Ihr build.gradle mit folgendem Wert zu ändern:

android {compileSdkVersion 18 buildToolsVersion '21 .0.1 '

defaultConfig {
    minSdkVersion 18
    targetSdkVersion 18
}
Fakher
quelle
0

Ich verwende gemeinsame Einstellungen, aber Android Studio hat sich über das Editor-Symbol beschwert. Dann fügte ich hinzu

import android.content.SharedPreferences.Editor;

und Symbol ist jetzt cool.

Badr
quelle
0

Bitte überprüfen Sie, ob Sie einen Projektpfad haben, der Sonderzeichen wie enthält! (Ausrufezeichen).

Bei einem ähnlichen Problem, das ich hatte , war dies die Hauptursache - da viele Java-Anwendungen solche Sonderzeichen nicht zu tolerieren scheinen (z. B. würde ein "Gradlew Clean" vom Terminal aus fehlschlagen und eine RunTimeException auslösen.). Keine der anderen online veröffentlichten Lösungen hatte mir geholfen. Aber sobald ich das entfernt hatte! Android Studio hat auf magische Weise funktioniert.

Jim C.
quelle
0

Ich habe alles versucht, was hier aufgelistet ist. Dann überprüfte ich meine androidmanifest.xml. Ich hatte aufgrund der Umbenennung von Ordnern und Paketen einige doofe Fehlanpassungen.

JDOaktown
quelle
0

In meinem Projekt mit mehreren Modulen bestand das Problem darin, dass die Version von "com.android.support:appcompat-v7" in Modul A "22.0.0" war, in B jedoch "22.2.0".

Lösung : Stellen Sie sicher, dass
1. die Version der allgemeinen Bibliotheken unter den Modulen identisch ist.
2. Jedes Modul wird fehlerfrei kompiliert (versuchen Sie, jedes Modul über die CLI zu erstellen).

surlac
quelle
0

Beachten Sie, dass der Name von Dateien und speziell Ordnern zu diesem Fehler führen kann. Wenn Sie beispielsweise einen Ordner "Helpers" haben und das Paket für Dateien in diesem Ordner "com.whatever.helpers" lautet, führt dies nicht zu einem Kompilierungsfehler, führt jedoch dazu, dass Android Studio die Symbole in diesem Ordner nicht laden kann . Ein typischer Grund dafür ist, wenn Sie einen Ordner mit dem ersten Großbuchstaben benennen, ihn auf Git festschreiben und später den Ordnernamen in Kleinbuchstaben ändern. Das Git-System erkennt die Änderung nicht, was zu einer Diskrepanz zwischen dem lokalen und dem Remote-Repository führt, von der nur die neuen Repository-Klone betroffen sind.

Eduardo Cobuci
quelle
0

Ich hatte eine viel seltsamere Lösung. Falls jemand darauf stößt, lohnt es sich, Ihre Gradle-Datei noch einmal zu überprüfen. Es stellte sich heraus, dass beim Klonen dieses Git und beim Ausführen von gradle eine Zeile aus meiner build.gradle (App) -Datei gelöscht wurde.

dependencies {
     provided files(providedFiles)

Offensichtlich bestand das Problem hier darin, es einfach wieder hinzuzufügen und erneut mit gradle zu synchronisieren.

Blaze Gawlik
quelle
0

Ich hatte ein ähnliches Problem, als ich eine AAR-Datei neu erstellte und die ältere in meinem Projekt durch die neue ersetzte. Ich habe hier alle Lösungen durchgesehen und keine hat mein Problem gelöst. Später stellte ich fest, dass minifyEnabled im Bibliotheksprojekt auf true gesetzt war, wodurch effektiv viel toter Code entfernt wurde, der im Bibliotheksprojekt nicht verwendet wurde.

Meine Lösung bestand darin, minifyEnabled im Bibliotheksprojekt auf false zu setzen, das aar zusammenzustellen, es in mein Projekt zu kopieren, die Caches ungültig zu machen und das Notenprojekt zu synchronisieren, und alles funktionierte einwandfrei.

Cooler Typ CG
quelle