Ich versuche herauszufinden, warum mein Android Studio die AppCompat v7-Bibliothek nicht richtig erkennt. Die folgende Import-Anweisung wird grau angezeigt und sagt, es gibt kein Paket für support.v7.app. Unten ist meine Aktivitätsdatei:
import Android.support.v7.app.AppCompatActivity;
public class XApplicationActivity extends AppCompatActivity
Mein build.grade:
compile "com.Android.support:appcompat-v7:22.0.0"
compile "com.Android.support:support-annotations:$Android_SUPPORT_VERSION"
compile "com.Android.support:support-v4:$Android_SUPPORT_VERSION"
Meine Projekteinstellungen:
minSdkVersion = 14
targetSdkVersion = 21
compileSdkVersion = 21
buildToolsVersion = "22.0.1"
Ich bin wirklich verwirrt, warum dies immer noch Probleme aufwirft. Dinge, die ich schon probiert habe:
Weiß jemand von irgendwelchen Korrekturen? Es hat mich viel Zeit gekostet und es ist wirklich frustrierend.
Okay, ich habe es repariert, indem ich es zum vierten Mal rekonstruiert habe, um eine saubere Montage von ./gradlew durchzuführen ... Android Studio ist eine seltsame Sache
Für mich Auch nach dem Upgrade auf appcompat-v7:22.1.0
, in dem AppCompatActivty
hinzugefügt wurde. Das Problem wurde für mich nicht gelöst, gab Android Studio dasselbe Problem
Symbol "AppCompatActivity" kann nicht aufgelöst werden
Manchmal hilft das Löschen der Android-Studio-Caches.
In Android Studio habe ich nur die Caches gelöscht und mit der folgenden Option neu gestartet:
Datei-> Caches ungültig machen/neu starten
1.Löschen Sie den .idea-Ordner
2. Schließen Sie das Projekt, und öffnen Sie es erneut
3. Datei -> Projekt mit Gradle-Dateien synchronisieren
Das hat bei mir funktioniert
AppCompatActivity wurde nur in Version 22.1.0 der Unterstützungsbibliothek hinzugefügt. Davor hieß es ActionBarActivity.
Sie sollten für alle Support-Bibliotheken dieselbe Version verwenden. Zum Zeitpunkt des Schreibens ist die neueste Version 23.1.1 (die neueste finden Sie hier https://developer.Android.com/tools/support-library/index.html#revisions ) Der Abschnitt mit den Abhängigkeiten in Ihrer gradle-Datei sollte folgendermaßen aussehen.
implementation "com.Android.support:support-v4:23.1.1"
implementation "com.Android.support:appcompat-v7:23.1.1"
implementation "com.Android.support:support-annotations:23.1.1"
Wenn Sie androidX anstelle von Android verwenden, müssen Sie Änderungen vornehmen
import Android.support.v7.app.AppCompatActivity;
zu
import androidx.appcompat.app.AppCompatActivity;
und ändern
<Android.support.constraint.ConstraintLayout>
zu
<androidx.constraintlayout.widget.ConstraintLayout>
Ich änderte von "... erweitert ActionBarActivity" auf "... erweitert AppCompatActivity" und versuchte das Bereinigen, Neustarten, Caches ungültig machen/Neustart und kam nicht weiter. Alle meine Versionen waren auf dem neuesten Stand.
Was schließlich gelöst wurde, bestand darin, sicherzustellen, dass mein Import korrekt war:
import Android.support.v7.app.AppCompatActivity;
Aus irgendeinem Grund wurde es nicht automatisch wie gewohnt eingerichtet und ich musste es manuell hinzufügen.
Hoffe das hilft jemandem!
Die von mir verfolgte Lösung wird in den folgenden Schritten zusammengefasst:
Ich habe den gleichen Fehler mit. Falls es anderen hilft. Dokumentieren, was für mich am nützlichsten war (14. Januar 2017). Erprobt alle Invalidate, baut sauber, löscht sogar .gradle/und passt die Support-Bibliotheken an mehreren Stapelüberlauf-Antworten an.
Ich habe festgestellt, dass das Upgrade der Settings.gradle Gradle-Version behoben wurde (es war 2.1.3). Etwas in Gradle Toolchain scheint Klassenpfad 'com.Android.tools.build:gradle: 2.2.3'
Die beste Lösung ist auf jeden Fall zu Datei> Invalidate Caches & Restart zu gehen
Dann im Dialogmenü ... Klicken Sie auf Caches ungültig machen und neu starten. Warten Sie eine Minute oder wie lange es dauert, um Ihr Projekt zurückzusetzen, dann sollten Sie gut sein.
-
Ich sollte beachten, dass ich auch auf das Problem der Referenzierung einer Ressourcendatei oder "R" -Datei gestoßen bin, die sich in einer compileOnly-Bibliothek befand, die ich in meinem Gradle hatte. (d. h. compileOnly library> res> referenzierte XML-Datei) Ich habe aufgehört, auf diese Datei in meinem Java-Code zu verweisen, und es hat mir geholfen. Seien Sie also müde, wo Sie Dateien referenzieren.
Ich hatte das gleiche Problem in meinem neu gestarteten Projekt mit mindestens API 23, und schließlich habe ich diese Codezeilen in meine Gradle-Abhängigkeitsdatei eingefügt und den Fehler behoben :)
implementation 'com.Android.support:appcompat-v7:28.0.0'
implementation 'com.Android.support:customtabs:28.0.0'
implementation 'com.Android.support:support-vector-drawable:28.0.0'
implementation 'com.Android.support:support-media-compat:28.0.0'
Löschen Sie den .idea-Ordner in Ihrem Projekt, der sich versteckt. Gehen Sie zu Ihrem Projekt im System und klicken Sie auf Strg + H, um es anzuzeigen. Dann löschen Sie es. Starten Sie nun Ihr Android-Studio neu. Ich werde das Problem beheben. Es arbeitet für mich.
Datei-> Caches ungültig machen/Neustart funktioniert bei mir.
Wenn die angegebenen Lösungen nicht funktionieren, erstellen Sie ein neues Projekt mit 'KOTLIN' als Sprache, auch wenn Sie mit Java arbeiten. Ersetzen Sie dann den Hauptordner des neuen Projekts durch den Hauptordner des alten Projekts.
Hintergrundinformation:
Meine IDE
Android Studio 3.1.3
Build #AI-173.4819257, built on June 4, 2018
JRE: 1.8.0_152-release-1024-b02 AMD64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 7 6.1
Erste Lösung: Importieren Sie das Projekt erneut und erklären Sie sich nicht damit einverstanden, das Android Gradle Plug-in zu aktualisieren.
Zweite Lösung: Ihre Dateien sollten diese fragmente enthalten.
build.gradle:
buildscript {
repositories {
jcenter()
google()//this is important for gradle 4.1 and above
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.1.3' //this Android plugin for gradle requires gradle version 4.4 and above
}
}
allprojects {
//...
repositories {
jcenter()
google()//This was not added by update IDE-wizard-button.
//I need this when using the latest com.Android.support:appcompat-v7:25.4.0 in app/build.gradle
}
}
Folgen Sie entweder der Empfehlung Ihrer IDE, um Ihre Gradle-Version auf Version 4.4 zu aktualisieren, oder nehmen Sie dies in Betracht
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.Zip
Optional buildToolsVersion in app/build.gradle ändern:
Android {
compileSdkVersion 25
buildToolsVersion '27.0.3'
app/build.gradle: Kommentieren Sie die Abhängigkeiten aus und lassen Sie den Build fehlschlagen (automatisch oder auslösen).
dependencies {
//compile fileTree(dir: 'libs', include: ['*.jar'])
//compile 'com.Android.support:appcompat-v7:25.1.0'
}
app/build.gradle: Kommentieren Sie die Abhängigkeiten erneut. Es wurde geraten, sie von der Kompilierung zur Implementierung zu ändern, aber im Moment ist es nur eine Warnung.
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:25.1.0'
}
Nach dem Neuaufbau des Projekts sollte die Importanweisung nicht mehr ausgegraut sein. Versuchen Sie, Strg + h für die Klasse ..__ aufzurufen. Aber aus irgendeinem Grund sind die Fehlermarkierungen in diesen Klassenreferenzierungsanweisungen immer noch vorhanden. Um sie zu entfernen, müssen Sie den Projektbaum ausblenden und wiederherstellen view oder Schließen Sie das Projekt alternativ und öffnen Sie es erneut.
Endlich ist es soweit.
Weitere Lesungen:
Verwenden Sie die neuen Abhängigkeitskonfigurationen
Wenn Sie für meine Lösung einen Bilderpfad bevorzugen, können Sie mein blog besuchen.
Wenn Sie es bereits versucht haben
Dann lesen Sie bitte weiter unten
Ich habe alles versucht, was in allen Antworten erwähnt wurde, und bin gescheitert.
Gehe zu gradle.properties mache diese Flags falsch
Android.useAndroidX = false
// Drittanbieter-Bibliotheken automatisch für AndroidX konvertieren
Android.enableJetifier = false
Die oben genannten Flaggen waren
"stimmt, für mich und daher wird gradle keine v7 komponenten herunterladen"