Das Symbol 'AppCompatActivity' kann nicht aufgelöst werden.

212

Ich habe gerade versucht, Android Studio zu verwenden. Ich habe ein leeres Projekt erstellt und versucht, ein Activityerweitertes zu erstellen AppCompatActivity. Leider "sagt" Android Studio, dass es

Das Symbol 'AppCompatActivity' kann nicht aufgelöst werden.

Ich habe compile "com.android.support:appcompat-v7:22.0.+"in der Abhängigkeitsliste meines "App" -Moduls mehrmals ein neu erstelltes Projekt. Allerdings kann ich nur verwenden ActionBarActivity. Was mache ich falsch?

Lingviston
quelle
Verwenden Sie die richtige Build-Version? Ist dein SDK auf dem neuesten Stand?
Ghost Talker
5
@Lingviston Sie verwenden nicht die richtige Version. Sie sollten verwendencom.android.support:appcompat-v7:22.1.0
Damson
2
Nun, es gab damals keine solche Version.
Lingviston
Aber jetzt gibt es und es löst das Problem :)
JY2k

Antworten:

350

Eine kleine Ergänzung zu anderen Antworten hier, für alle, die denselben Fehler haben, während sie die richtige lib-Version und die richtige Klasse verwenden.

Als ich auf aktualisiert habe

appcompat-v7:22.1.0

In dem ActionBarActivityes veraltet und leer ist und AppCompatActivtyaufgrund einiger Pannen in Android Studio der richtige Weg ist, hat es die Versionsänderung nicht ganz aufgegriffen.

dh obwohl Gradle fehlerfrei lief, sagte die IDE selbst immer wieder Cannot resolve symbol 'AppCompatActivity'(und es war auch nicht über die Ctrl+NSuche verfügbar )

Ich habe in den .idea/librariesOrdner geschaut und festgestellt, dass es keine geeignete Metadatei für die neue Version der Bibliothek gibt.

Mit dem alten zuverlässigen File-> Invalidate Caches / Restart haben wir also den Trick gemacht. Versuchen Sie dies immer, wenn Sie der Meinung sind, dass mit Android Studio etwas magisch nicht stimmt. Und dann Offline-Modus deaktivieren und synchronisieren.

Ivan Bartsov
quelle
2
Funktioniert auch bei mir nicht. Jedes Mal, wenn ich den Appcompat aktualisiere, treten viele Probleme auf.
3c71
Bei mir trat dieser Fehler beim Aktualisieren auf Android Studio 2.0 auf - Das Löschen des Caches und das Neustarten wie oben beschrieben funktionierten einwandfrei!
ColossalChris
Ich habe compile 'com.android.support:appcompat-v7:23.3.0'bereits in meinem build.gradle ... aber immer noch den Fehler
dsdsdsdsd
3
Wenn es nicht funktioniert hat, probieren Sie dieses aus, das für mich funktioniert hat: stackoverflow.com/a/36641765/3758439
George
Gleiches gilt für IntelliJ IDE.
A-Sharabiani
163

Wenn die Soft-Methoden über Gradle-Datei / "Caches ungültig machen" und die anderen IDE-Tools nicht funktionieren, verwenden Sie den harten Weg:

  1. Beenden Sie Android Studio
  2. Navigieren Sie in Ihrem Projekt zum .ideaOrdner
  3. Benennen Sie einfach den librariesOrdner um
  4. Starten Sie Android Studio neu. Es sollte nun den librariesOrdner neu erstellen und wieder funktionieren.

Das hat bei mir weiter geklappt

Android Studio 3.1.2
Build #AI-173.4720617, built on April 13, 2018
JRE: 1.8.0_152-release-1024-b01 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.13.0-38-generic

Shahbaz Ali bestätigte, es funktioniert auch weiter

Android Studio 3.1.3
Build #AI-173.4819257, built on June 4, 2018
JRE: 1.8.0_152-release-1024-b01 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.13.0-38-generic

Moujib bestätigt, es funktioniert unter Android Studio 3.2.1

DBX12
quelle
Ty für das Update! Außerdem würde ich gerne wissen, ob jeder Benutzer hier die PC-Version oder die iOS-Version von Android Studio verwendet hat. Ich habe einige Entwicklerfreunde, die unter iOS noch nie eines dieser Probleme hatten. Ich hatte Unmengen von Problemen auf dem PC. Ich bin mir nicht sicher, wie oft ich versucht habe, den Cache zu bereinigen / neu zu
Shahbaz Ali und ich haben die Linux-Version verwendet. Moujib hat nur kommentiert, dass diese Lösung in 3.2.1
DBX12
70

Heute (22. April) können Sie die neue AppCompatActivityVersion mit den Support-Bibliotheken v 22.1.0 verwenden.

Ändern Sie einfach Ihre Abhängigkeit:

compile "com.android.support:appcompat-v7:22.1.0"

Hier finden Sie weitere Informationen zu dieser neuen Klasse.

Gabriele Mariotti
quelle
7
hmm ich benutze eine höhere Version, compile 'com.android.support:appcompat-v7:23.1.1'
stoße
31

Es ist zu einfach. Hier sind die Schritte, die Sie befolgen müssen

1-Beenden Sie Android Studio.

2-Gehen Sie zu Ihrem Projektverzeichnis.

3-So etwas in meinem Fall (F> Android-> YourProjectName ->. Idee).

4) -Löschen von Bibliotheksordnern im .idea-Ordner.

5) -Starten Sie Ihr Android-Studio neu. und Ihr Problem ist behoben.

Abdul Mateen
quelle
Ich würde den Ordner niemals löschen, falls etwas furchtbar schief geht. Es reicht aus, es einfach umzubenennen. Im schlimmsten Fall, dass der Bibliotheksordner nicht neu generiert wird, können Sie den ursprünglichen Namen des Ordners "Bibliotheken" wiederherstellen. Nachdem bekannt ist, dass alles funktioniert, können Sie den umbenannten Ordner zurückgehen und löschen. Wenn Ihr Studio beschädigt ist, werden möglicherweise keine Ordner neu generiert. Seien Sie beim Löschen von Dateien immer vorsichtig.
28

Ich habe es behoben, indem ich in die build.gradleDatei gegangen bin und in Abhängigkeiten die appcompateine, so etwas wie kompilieren'com.android.support:appcompat-v7:XX.X.X'

Zum Kompilieren geändert 'com.android.support:appcompat-v7:XX.X.+'

Klicken Sie dann auf Synchronisieren. Alle roten, schnörkellosen Linien sollten verschwinden, wenn alles andere in Ihrem Code korrekt ist.

Siddhartha Chikatamalla
quelle
7
+1, OMG das hat bei mir funktioniert. :) Übrigens ist das +Zeichen für Hey Gradle, wenn eine neue Version derselben Version verfügbar ist, die Sie selbst verwenden können :). Ich habe com.android.support:appcompat-v7:25.3.1jetzt einen Trick gemacht: com.android.support:appcompat-v7:25.3.+Obwohl AS mich gewarnt hat: Vermeiden Sie die Verwendung von + in Versionsnummern; kann zu unvorhersehbaren und nicht wiederholbaren Builds führen (com.android.support:appcompat-v7:25.3.+)
fWd82
13

Suchen Sie auch nach Tippfehlern. Ich habe meinen ganzen Tag damit verbracht, nach Lösungen zu suchen, als ich tatsächlich AppCompactActivity anstelle von AppCompatActivity eingegeben hatte

Victor Michael
quelle
13

Ich habe den Cannot resolve symbolFehler für AppCompatActivity und viele andere Klassen und Methoden erhalten, nachdem ich Android Studio von 2.2.3 auf 2.3, das Android Gradle-Plugin auf 2.3.0 und Gradle auf 3.3 aktualisiert habe.

File -> Invalidate Caches / Restart hat das Problem nicht behoben.

Preferences -> Build, Execution, Deployment -> Gradlezeigte Use local gradle distributionmit Gradle Hause ausgewählt: / Anwendungen / Android Studio.app/Contents/gradle/gradle-2.14.1 und eine Warnung sagen die gradle Lage war falsch .

Problem durch Auswahl behoben Use default gradle wrapper (recommended).
Wahrscheinlich würde es auch funktionieren, nur auf den neuen lokalen Vertriebsstandort zu verweisen.

jk7
quelle
11

Symbol AppCompatActivity Problem kann nicht behoben werden.

Führen Sie den einfachen Schritt aus, um das Problem zu beheben.

i) Beenden Sie das Android Studio.

ii) Wechseln Sie in Ihr Projektverzeichnis.

iii) Suchen Sie den Ordner .idea in Ihrem Projektverzeichnis.

iv) Löschen Sie den Ordner .idea .

v) Starten Sie Ihr Android Studio neu.

vi) Das Problem wird behoben.

Sathish Kumar TM
quelle
Wenn Sie in den Ordner .idea gehen und den Ordner "Bibliotheken" in einen anderen Ordner umbenennen, funktioniert der Trick ebenfalls. Wenn etwas furchtbar schief geht, müssen Sie nur zurückgehen und den Bibliotheksordner wieder in seinen ursprünglichen Namen umbenennen und etwas anderes ausprobieren, anstatt zu versuchen, den gesamten .idea-Ordner wiederherzustellen.
8

Versuche dies. In Android Studio nach dem Einfügen der Abhängigkeit in build.gradle. Gehen Sie zu Erstellen -> Projekt bereinigen.

Es hat bei mir funktioniert.

MobileAppDeveloper
quelle
7

Das ist wirklich verrückt, ich habe alles versucht, mit Gradle-Dateien synchronisiert, Android Studio ungültig gemacht und neu gestartet. Trotzdem blieb das Problem bestehen. Der letzte Ausweg war das Löschen des Ordners .idea / library und es funktionierte als Charme.

Raghav Sharma
quelle
6

Sie können die neue AppCompatActivity appcompat-v7: 22.1 verwenden. + Fügen Sie diese einfach zu Ihrem Gradle hinzu:

kompiliere 'com.android.support:appcompat-v7:22.1.1'

Sergey Zabelnikov
quelle
6

Für mich wurde das Problem behoben, als ich die AppCompact Version 7 auf den neuesten Stand brachte.

kompiliere 'com.android.support:appcompat-v7:25.3.0'

Ich hoffe es hilft...:)

Nihas Nizar
quelle
6

Also schob mein Kollege ihre, local.propertieswas alles kaputt machte. Ich habe meinen SDK-Pfad von einer anderen App kopiert und Folgendes getan:

File -> Sync Project with Gradle Files
Seabass77
quelle
5

Ich hatte das gleiche Problem mit Android SDK 23, als ich auf einem Mac OS X Yosemite-Computer entwickelte. Es stellte sich heraus, dass ich kein Java SDK 7 hatte.

Nachdem ich Java SDK 7 installiert und das SDK mit dem Android Studio auf das neue SDK verwiesen hatte, funktionierte alles für mich.

Hier sind die Schritte, die ich befolgt habe:

1) Fahren Sie das Android SDK herunter

2) Installieren Sie Java SDK für Mac OS X von http://www.oracle.com/technetwork/java/javase/downloads/index.html

3) Starten Sie das Android SDK und verweisen Sie das SDK für dieses Projekt auf das neue 1.7 Java SDK, indem Sie auf Datei -> Projektstruktur -> JDK-Speicherort klicken

4) Starten Sie Android Studio neu

Ich hoffe das hilft

AsgharHussain
quelle
3

Denken Sie daran, Alt+ zu drücken Enteroder den Import hinzuzufügen.

import android.support.v7.app.AppCompatActivity; 
Suragch
quelle
3

Keiner der folgenden Punkte hat mein Problem gelöst

  • Starten Sie Android neu
  • Datei >> Projekt mit Gradle-Dateien synchronisieren
  • Build >> Clean Project
  • Build >> Projekt neu erstellen
  • Datei >> Caches ungültig machen / neu starten

Stattdessen habe ich es gelöst, indem ich die Version von Appcompat- und Design-Abhängigkeiten auf die aktuelle Version aktualisiert habe. Gehen Sie dazu zu build.grade (Modul: App) >> Abhängigkeiten und drücken Sie ALT + ENTER für Appcompat- und Design-Abhängigkeiten. Wählen Sie dann Die gezeigte Version in meinem Fall ist 24.2.1, wie im Bild gezeigt Geben Sie hier die Bildbeschreibung ein

Zain
quelle
3

Ich habe meinen Gradle 2.3.3 auf 4.4 aktualisiert und einen Fehler bei AppCompatActivity und auch bei Cardview erhalten. Ich habe es mit einem sauberen Projekt versucht und das Projekt neu aufgebaut. Es wird nicht funktionieren, dann gehe ich zu Projektordner -> .idea -> erstelle ein Backup des Bibliotheksordners und entferne es -> dann erstelle ich ein Projekt neu , das mein Problem gelöst hat.

Manojm
quelle
3

Lassen Sie uns Schritt für Schritt loslegen: Reinigen Sie zuerst das Projekt mit

Build-> Clean

Wenn dies nicht hilft, verwenden Sie Ihren zweiten Schritt

Datei> Caches ungültig machen / neu starten ...

Das eigentliche Problem beginnt jedoch, wenn alle oben genannten Optionen nicht funktionieren. Verwenden Sie also die ultimative Lösung, um das Projekt zu schließen, in das Projektverzeichnis zu wechseln und zu löschen

.Idee

Sie können Ihr Projekt jetzt wieder öffnen.

Shashank Chandak
quelle
2

Nach dem Upgrade auf die neueste Support-Bibliothek musste ich auf die neueste Version von Android Studio (Beta) und Gradle aktualisieren, bevor die IDE AppCompatActivity erneut erkannte (das Ungültigmachen von Caches und der Neustart haben nicht funktioniert).

Ciske Boekelo
quelle
2

Fügen Sie diese Abhängigkeit in Project Build .gradle hinzu.

Folgen Sie dem Beispiel unten.

dependencies {

    compile 'com.android.support:appcompat-v7:22.1.0'
}
Stich
quelle
Ich benutze :22.0.0und kann keine AppCompatActivityKlasse finden . Ich muss es zumindest auf einstellen 22.1.0. Vielen Dank.
Haxpor
2

Easist Way

  • Öffnen Sie die App-Ebene build.gradleund entfernen Sie die Abhängigkeit und Synchronisierung von appcompact-v7 .
  • Fügen Sie die Abhängigkeit erneut hinzu und synchronisieren Sie sie.

Fehler weg!

Vor

Vor

Nach dem

nach dem

Khemraj
quelle
2

Wenn Sie AndroidX-Unterstützung in die Datei Gradle.properties einfügen, z

android.useAndroidX=true
android.enableJetifier=true

Wenn Sie eine Gradle-Version größer als 3.2 verwenden, wird die herkömmliche Appcompat-Abhängigkeit, z

implementation 'com.android.support:appcompat-v7:27.1.1

wird nicht funktionieren. Ersetzen Sie diese Abhängigkeit durch:

implementation 'androidx.appcompat:appcompat:1.1.0'

Ändern Sie außerdem den AppCompatActivity-Import in Ihrer Klassendatei wie folgt:

import android.support.v7.app.AppCompatActivity;

dazu:

import androidx.appcompat.app.AppCompatActivity;

Getan

Muhammad Etisam
quelle
1

Sie müssen nur einige Änderungen an Ihrer Gradle-App-Datei vornehmen, indem Sie eine Abhängigkeit hinzufügen

kompiliere "com.android.support:appcompat-v7:XX:YY:ZZ"

Während XX: YY: ZZ der Versionscode ist, den Sie in Ihrer Gradle-Datei verwenden. Wenn Sie diese Version niedriger oder höher einstellen als die, die Sie verwenden, tritt bei Ihrer App einige Probleme auf, die manchmal zum Absturz führen

Nadeem Bhat
quelle
1

Ich aktualisiere gerade mein Android Studio von 2.3.2 auf 3.1.2 Version. und dieser Fehler tritt auf.

Ich bereinige das Projekt, erstelle das Projekt neu, mache den Cache ungültig / starte neu, aber nichts funktioniert.

Ich behebe diesen Fehler durch Aktualisieren der Appcompat-Bibliothek von

kompiliere 'com.android.support:appcompat-v7:23.4.0'

zu

kompiliere 'com.android.support:appcompat-v7:25.1.1'

in der App build.gradle Datei.

mehmoodnisar125
quelle
1

Wenn das Ungültigmachen von Caches nicht hilft, schließen Sie das Projekt und öffnen Sie es erneut. Schritte:

  • Datei> Projekt schließen
  • Entfernen Sie das Projekt aus der Startprojektliste
  • Schließen Sie Android Studio
  • Öffnen Sie Android Studio
  • Offenes existierendes Projekt mit diesem Projekt
Nguyen Minh Hien
quelle
0

Für mich wurde das Problem behoben, als ich die Gradle-Build-Version aktualisierte. Weißt du nicht warum?

Srikar Reddy
quelle
0

Ich werde Ihnen sagen, wie ich dieses Problem in Eclipse gelöst habe. Laden Sie die Zip-Datei von diesem Link herunter. https://github.com/dandar3/android-support-v7-appcompat extrahieren Sie dann diese Datei, öffnen Sie das Projekt, im lib-Ordner sehen Sie eine JAR-Datei mit dem Namen "android-support-v7-appcompat", fügen Sie diese JAR-Datei hinzu dein Projekt. Das ist es.Geben Sie hier die Bildbeschreibung ein

Däñish Shärmà
quelle
0

Dies kann an dem Versionsunterschied in der App-Ebene liegen. Überprüfen Sie ihn einmal und erstellen Sie ihn dann neu

Kamal
quelle
0

Für mich hat keine der Lösungen funktioniert. Ich fand jedoch heraus, dass alle Bibliotheken der Support-Bibliotheken in meinen externen Bibliotheken fehlten. In anderen Projekten wurde die AppCompatActivity problemlos gelöst.

Für mich hat es funktioniert, ein neues Projekt zu erstellen und alle Inhalte des alten src-Ordners in das neue Projekt zu kopieren.

Ich weiß nicht genau warum, aber wenn nichts funktioniert, könnte es die letzte Möglichkeit sein. Nur wenn jemand die gleichen Probleme hat wie ich.

user7174483
quelle
0

Wenn Sie versuchen, auf weiche Weise zu funktionieren, verwenden Sie den harten Weg: Beenden Sie den aktuellen Android Studio-Bildschirm und wechseln Sie zu Ihrem Projekt in den Ordner .idea. Benennen Sie den Ordner library-> lib_pre um.

Starten Sie Android Studio neu. Der Bibliotheksordner wird jetzt neu erstellt und funktioniert wieder reibungslos. Android Studio 3.1.3

Nadeem Bhat
quelle