Fehler beim Abrufen des übergeordneten Elements für Element: Nach dem Upgrade auf AppCompat v23 wurde keine Ressource gefunden, die mit dem angegebenen Namen übereinstimmt
Lesezeit: 7 Minuten
Vini.g.fer
Ich habe Android immer mit Eclipse programmiert und mich entschieden, mit der Migration zu beginnen Android-Studio. Ich entschied mich, das gleiche SDK zu verwenden, das ich bereits für Eclipse hatte, dann:
Neues Projekt gestartet
Legen Sie mindestens SDK 4.0 (API Level 14) fest
Wählen Sie die Option „Leere Aktivität“.
Verwendete Standardnamen für Aktivitätsname und Layoutname
Klicken Sie auf Fertig
Nach ein paar Sekunden beendet Gradle den Build und wirft mir zwei Fehler mit den folgenden Meldungen in der Datei Teste4\app\build\intermediates/exploded-aar\com.android.support\appcompat-v7\23.0.0\res\values -v23\Werte-v23.xml:
Fehler: (2) Fehler beim Abrufen des übergeordneten Elements für Element: Keine Ressource gefunden, die mit dem angegebenen Namen „android:TextAppearance.Material.Widget.Button.Inverse“ übereinstimmt.
Fehler:(2) Fehler beim Abrufen des übergeordneten Elements für Element: Keine Ressource gefunden, die mit dem angegebenen Namen „android:Widget.Material.Button.Colored“ übereinstimmt.
Ich habe bereits versucht, was in der Stack Overflow-Frage vorgeschlagen wurde appcompat-v7:21.0.0′: Keine Ressource gefunden, die dem angegebenen Namen entspricht: attr ‘android:actionModeShareDrawable’aber es hat nicht funktioniert.
Bryan Herbst
Ihre Kompilier-SDK-Version muss mit der Hauptversion der Support-Bibliothek übereinstimmen.
Da Sie Version 23 der Support-Bibliothek verwenden, müssen Sie mit Version 23 des Android SDK kompilieren.
Alternativ können Sie mit dem Kompilieren gegen Version 22 des Android SDK fortfahren, indem Sie zur neuesten Support-Bibliothek v22 wechseln.
Sie können es entweder manuell in Ihrer ändern build.gradleoder Sie können die GUI verwenden, indem Sie die Projekteigenschaften öffnen und zur Registerkarte “Abhängigkeiten” gehen.
– Bryan Herbst
18. August 2015 um 14:52 Uhr
Diese Frage und Antwort haben nichts damit zu tun, auf welcher Version Ihre App ausgeführt wird. Eine App, die auf 22 abzielt, kann problemlos auf einem Gerät ausgeführt werden, auf dem 23 ausgeführt wird. Das hier beschriebene Problem besteht darin, dass die Support-Bibliotheksversion 23 erfordert, dass Sie auf 23 abzielen, da die Support-Bibliothek auf einige APIs im 23 SDK verweist.
– Bryan Herbst
22. August 2015 um 21:13 Uhr
Für diejenigen wie mich, die neu bei Android Studio sind und verwirrt sind, wie man “die GUI verwendet, indem man die Projekteigenschaften öffnet”, gehe ich in meinem Android Studio (v1.3.1) zu Datei, Projektstruktur, dann auf der linken Seite -Handbereich unten ist ein Eintrag unter Module (in meinem Fall “app” genannt). Ich klicke darauf und sehe dann eine Registerkarte Abhängigkeiten.
– Bryan
27. August 2015 um 18:43 Uhr
Ich kann immer noch nicht glauben, dass Android Studio Sachen veröffentlicht, ohne etwas SO Grundlegendes zu testen!! Setzen Sie wenigstens einige aussagekräftige Warnungen!!
– Josch
31. August 2015 um 11:11 Uhr
Die GUI sollte eine Meldung angezeigt haben: „Wir haben festgestellt, dass Sie nicht auf die richtige Android-API-Version abzielen. Soll ich das Problem beheben?“. Stattdessen muss ich die Arbeit am Flugzeug einstellen und warten, bis ich Stackoverflow suchen kann.
– Irgendwer irgendwo
2. September 2015 um 22:31 Uhr
Surav Nanda
Dies geschieht, weil nach Updates Android Studio verwendet wird API-Version 23 standardmäßig.
Folgendes hat bei mir funktioniert:
Drücken Sie Strg + Verschiebung + Alt + S um zur Projektstrukturseite zu gelangen. Gehen Sie auf die Registerkarte Eigenschaften und ändern Sie 23.0.0 zu 22.0.1 (oder gleichwertig zu dem, was Sie zuvor verwendet haben) im Build-Tool-Bereich und erstellen Sie Ihr Projekt neu.
Wenn das nicht funktioniert, gehen Sie zu gradle:app und dann
Bearbeiten v7:23.0.0 zu v7:22.2.1 wie oben gezeigt und gradle synchronisieren. Das wird auf jeden Fall funktionieren.
Für Neulinge wie mich, die verwirrt sind, wie man “zu gradele:app geht und dann fileTree(dir: ‘libs’, include: [‘*.jar’]) kompiliere ‘com.android.support:appcompat-v7:22.2.1′”, in meinem Android Studio (Version 1.3.1), im Projektfenster (das ich durch Klicken auf die Registerkarte 1: Projekt ganz links geöffnet habe) , sehe ich zwei Einträge unter Gradle-Skripten mit dem Namen “build.gradle”. Neben dem zweiten steht (Modul: app). Ich habe darauf doppelgeklickt, um es zu öffnen. Dann habe ich im Abschnitt “Abhängigkeiten” unten die v7 :23.0.0 bis v7:22.2.1 Ich habe gespeichert (und synchronisiert, wie von Studio dazu aufgefordert) – schien in Ordnung zu kompilieren.
– Bryan
27. August 2015 um 18:57 Uhr
Wie kann ich die Projektstrukturseite auf dem MAC aufrufen?
– rosu alin
2. Dezember 2015 um 10:28 Uhr
@Sourav Auch nach diesen Änderungen wurde der Fehler nicht behoben. Trotzdem habe ich diese Fehler drin v23/values-23.xml Datei. Ich habe Werte auf der Projektstrukturseite geändert, App neu erstellen. Stehe aber immer noch vor dem Problem 🙁
– Prabs
7. Januar 2016 um 13:03 Uhr
Auf dem Mac ist die Tastenkombination ⌘ + ; . Alternativ können Sie zu Datei > Projektstruktur gehen.
– Tomanow
19. Dezember 2016 um 15:20 Uhr
Ravikant Paudel
Wenn Sie Ihr Android Studio aktualisieren, verwendet es standardmäßig die API-Version 23, was der Hauptgrund für sein Auftreten ist. Damit,
Überprüfen Sie zunächst Ihre AppCompat-Version in build.gradle (Module: app). Das heißt,
Wenn nach dem Ändern auf 23 ein Fehler auftritt, laden Sie einfach herunter
Compile Sdk Version to API 23, and Build Tools Version to 23.0.0
vom SDK-Manager. Wenn bereits heruntergeladen dann:
1. Go to SDK Manager and
2. Under Project Structure, change *Compile SDK Version* to API 23, and *Build Tools Version* to 23.0.0
Klicken Sie auf die SDK-Manager-Schaltfläche und öffnen Sie das Dialogfeld.
Klicken Sie auf SDK-Plattform und prüfen Sie, ob Android 6.0 heruntergeladen wurde oder nicht.
wenn nicht, dann lade es zuerst herunter. Klicken Sie nach Abschluss des Downloads auf Anwenden.
Jetzt müssen Sie Änderungen an Ihrem Projekt von der Einstellung anwenden. Dann drücken Strg + Alt + Verschiebung + S Einstellung zu öffnen
Klicken Sie in der Liste auf die App.
Klicken Sie auf Eigenschaften
Ändere dein Kompilieren Sie die SDK-Version nach API23
Ändere dein Build-Tools-Version bis 23.0.0
Vergessen Sie nicht, Ihr Projekt neu zu erstellen.
Dann ist dein Fehler weg.
Ich habe Ihre Art, die Lösung zu definieren, verstanden, aber versuchen Sie, Ihren Beitrag mit einer vollständigen Beschreibung zu beschreiben
– Naveed Ahmad
3. September 2015 um 7:46 Uhr
@NaveedAhmad Ok, ich werde meinen Beitrag bearbeiten. Danke für Ihren Vorschlag .
– Ravikant Paudel
3. September 2015 um 7:59 Uhr
Ich habe einen Beitrag zu dem oben genannten Problem hinzugefügt: stackoverflow.com/a/32370099/2915785
– Naveed Ahmad
3. September 2015 um 8:02 Uhr
Hey, bitte füge dieselbe Appcompat-Version hinzu, es hat mein Problem gelöst
– vuhung3990
4. September 2015 um 7:10 Uhr
In solchen Fällen helfen Screenshots für Dummies wie mich.
– ern0
7. September 2016 um 20:47 Uhr
Pelan
Wenn Sie versucht haben, das Ziel auf eine frühere Version von GooglePlayServices oder AppCompatv7 zu ändern, und dies nicht funktioniert, überprüfen Sie, ob Sie eine Abhängigkeit von Projektbibliotheken haben. Dieses Projekt zielt auf die neueste Version einer dieser Bibliotheken ab. Es ist mir mit dem Google Maps Utils Library-Projekt passiert:
Dann können Sie mit dem vollständigen Targeting von API 22 fortfahren
Wenn es immer noch nicht kompiliert wird, ist es manchmal hilfreich, die compileSdkVersion-API auf 23 und die targetSdkVersion auf 22 zu setzen.
Stucky
Ich stimme der vorherigen Antwort zu. Ihre kompilierte SDK-Version muss mit der Support-Bibliothek übereinstimmen. Hier ist, was ich getan habe.
Sie können zum SDK-Manager gehen und unter SDK-Plattform Android 5.X mit API-Ebene 23 installieren.
Ändern Sie unter Project Structure die Kompilierungs-SDK-Version in API 23 und die Build Tools-Version in 23.0.0
Dann sollte es ohne Probleme bauen.
Dharma Sai Seerapu
Sie müssen compileSdkVersion auf 23 setzen.
Da API 23 Android die veralteten Apache Http-Pakete entfernt hat, müssen Sie useLibrary hinzufügen, wenn Sie sie für Serveranfragen verwenden 'org.apache.http.legacy' zu build.gradle wie in diesem Link angegeben:
android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
...
//only if you use Apache packages
useLibrary 'org.apache.http.legacy'
}
Gemeinschaft
Dieses Problem tritt auf, weil die Kompilierungs-SDK-Version jetzt mit der Hauptversion der Android Support-Bibliothek übereinstimmen muss.
In meinem Fall habe ich die Android Support Library Version 23, also musste ich gegen die kompilieren Android SDK version 23und ich musste dies in meinem ändern build.gradle Datei:
Nun, einige von Ihnen müssen das SDK installieren, Android 6.0 (API 23)
und nicht vergessen Projekt mit Gradle-Dateien synchronisieren
9640700cookie-checkFehler beim Abrufen des übergeordneten Elements für Element: Nach dem Upgrade auf AppCompat v23 wurde keine Ressource gefunden, die mit dem angegebenen Namen übereinstimmtyes