Beim Versuch, die neueste Appcompat-v7-Unterstützungsbibliothek in meinem Projekt zu verwenden, wird folgende Fehlermeldung angezeigt:
/Users/greg/dev/mobile/android_project/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.0/res/values-v11/values.xml
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Wie behebe ich das?
Antworten:
Obwohl die Antwort von loeschg absolut richtig ist, möchte ich sie nur näher erläutern und eine Lösung für alle IDEs (Eclipse, IntellJ und Android Studio) geben, auch wenn sich die Fehler geringfügig unterscheiden.
Voraussetzungen
Stellen Sie sicher, dass Sie die neueste
extras
sowie dieAndroid 5.0 SDK
über den SDK-Manager heruntergeladen haben .Android Studio
Öffne die
build.gradle
Datei deines App-Moduls und ändere deinecompileSdkVersion
auf 21. Grundsätzlich ist es nicht notwendig, dietargetSdkVersion
SDK-Version auf 21 zu ändern , aber es wird empfohlen, da du immer auf die neueste Android Build-Version abzielen solltest .Am Ende sieht Ihre Gradle-Datei folgendermaßen aus:
Stellen Sie sicher, dass Sie Ihr Projekt anschließend synchronisieren.
Finsternis
Wenn Sie das
v7-appcompat
in Eclipse verwenden, müssen Sie es als Bibliotheksprojekt verwenden. Es reicht nicht aus, nur die * .jar in Ihren/libs
Ordner zu kopieren . Bitte lesen Sie diese Schritt-für-Schritt-Anleitung (klicken Sie) auf developer.android.com, um zu erfahren, wie Sie das Projekt ordnungsgemäß importieren.Sobald das Projekt importiert wird, werden Sie feststellen, dass einige Ordner im
/res
Ordner aufgrund von Fehlern wie den folgenden rot unterstrichen sind:Lösung
Das einzige, was Sie tun müssen, ist die
project.properties
Datei von zu öffnenandroid-support-v7-appcompat
und das Ziel von auftarget=android-19
zu änderntarget=android-21
.Führen Sie anschließend einfach eine aus,
Project --> Clean...
damit die Änderungen wirksam werden.IntelliJ IDEA (ohne Gradle)
Ähnlich wie bei Eclipse reicht es nicht aus, nur das zu verwenden
android-support-v7-appcompat.jar
. Sie müssen dasappcompat
als Modul importieren . Lesen Sie mehr darüber in diesem StackO-Post (klicken) .( Hinweis: Wenn Sie nur das verwenden, erhalten
.jar
SieNoClassDefFoundErrors
Runtime )Wenn Sie versuchen, das Projekt zu erstellen, treten Probleme in den
res/values-v**
Ordnern auf. In Ihrem Nachrichtenfenster wird Folgendes angezeigt:Lösung
Klicken Sie mit der rechten Maustaste auf
appcompat
Modul -> Moduleinstellungen öffnen (F4) -> [Registerkarte "Abhängigkeit"]. Wählen Sie in der Dropdown-Liste die Android API 21-Plattform aus -> ÜbernehmenDann erstellen Sie einfach das Projekt neu (Erstellen -> Projekt neu erstellen) und los geht's.
quelle
Dies liegt wahrscheinlich daran, dass Sie
compileSdkVersion
in Ihrer build.gradle-Datei nicht 21 festgelegt haben. Sie möchten wahrscheinlich auch IhretargetSdkVersion
auf 21 ändern .Dazu müssen Sie zunächst die neuesten SDK-Updates heruntergeladen haben.
Nachdem Sie alle Updates heruntergeladen haben (vergessen Sie nicht, auch die Android Support Library / das Repository zu aktualisieren!) Und Ihre compileSdkVersion aktualisiert haben, synchronisieren Sie Ihr Gradle-Projekt erneut.
Bearbeiten: Für Eclipse- oder allgemeine IntelliJ-Benutzer
Siehe die Antwort von reVerse. Er hat einen sehr gründlichen Spaziergang durch!
quelle
`Befolgen Sie die folgenden Schritte:
Es funktioniert für mich. Um dieses Problem zu beheben,
1.Rechtsklicken Sie auf die Bibliothek appcompat_v7 und wählen Sie Eigenschaften
2. Klicken Sie jetzt auf Android Option, und legen Sie den Projekterstellungspfad als Android 5.0 (API-Stufe 21) fest. Übernehmen Sie Änderungen.
3. Gehen Sie jetzt zur Datei project.properties unter der Bibliothek appcompat_v7.
4.Stellen Sie das Projektziel wie folgt ein: target = android-21
5.Nun Clean + Build appcompat_v7 Bibliothek und Ihre Projekte`
quelle
Wenn Sie API 21 nicht als Ziel-API verwenden möchten und daher das Material-Design nicht verwenden möchten, müssen Sie eine ältere Version von API 19> verwenden
Dies hilft auch bei der Lösung Ihres Problems. Es hängt nur davon ab, was Sie erreichen möchten.
quelle
Ich habe dieses Problem mit Play-Services festgestellt: 5.0.89. Upgrade auf 6.1.11 gelöstes Problem.
quelle
In Android Studio habe ich versucht, das
compileSdkVersion
undtargetSdkVersion
auf einzustellen19
.Meine Lösung bestand darin, unten zu ersetzen
build.gradle
, von dieser:Zur älteren Version der Appcompat-Bibliothek:
quelle
Ich hatte meinem Arbeitsbereich ein weiteres Projekt hinzugefügt und versuchte, eine Aktivität daraus in der Manifestdatei zu referenzieren, und es wurde dieser Fehler angezeigt. Das Problem ist, dass ich die Bibliothek falsch referenziert habe. So habe ich das Problem behoben:
Das JAR wurde in den Ordner " Android Dependencies" verschoben und dieser Fehler wurde behoben.
quelle
Stellen Sie sicher, dass Sie Ihr Projekt in Android Studio (oder Eclipse) bereinigen,
Es sollte Ihre Probleme lösen
quelle
Ein Upgrade auf das neueste Gradle-Plugin löst mein Problem:
quelle
Nachdem ich in Eclipse ein zweites Projekt im Arbeitsbereich erstellt hatte, hatte ich dieses Problem. Ich glaube, das liegt daran, dass ich es mit einer anderen SDK-Version erstellt habe und diese die android-support-v7-appcompat-Bibliothek überschrieben hat.
Ich habe versucht, alles aufzuräumen, aber ohne Erfolg. Letztendlich hat der obige Vorschlag, project.properties zu bearbeiten und target = android-21 zu ändern und mein Projekt auf Android 5.0 zu setzen, das Problem behoben.
quelle
Was ich empfehle ist: (Dies funktioniert bei mir nach vielen Tagen mit Fehlern)
- Stellen Sie sicher, dass Sie Folgendes heruntergeladen haben:
- Laden Sie das ADT erneut herunter
- Erstellen Sie eine Sicherheitskopie Ihres Projekts.
- Sie müssen das ADT, den Arbeitsbereich und das Projekt, das wir importieren möchten, auf derselben Festplatte haben (z. B. C: /).
Löschen Sie nun die App-Kompatibilität und Ihr Projekt.
In Eclipse: Datei> Importieren> Vorhandenes Android-Projekt> Weiter> Durchsuchen (Der Ordner, in dem Sie Ihr ADT haben) / sdk / extras / android / v7 / appcompat> Importieren> Fertig stellen
Jetzt im Eclipse-Paket-Explorer: android-support-v7-appcompat / libs / Make auf den beiden JARS: Klicken Sie mit der rechten Maustaste auf> Erstellungspfad> Zum Erstellungspfad hinzufügen
Klicken Sie mit der rechten Maustaste auf libs / folder> Buil Path> Configure Build Path und überprüfen Sie diese beiden JARS> OK
In der oberen Eclipse-Leiste> Projekt> Reinigen
Importieren Sie Ihr Projekt> Datei> Importieren> Durchsuchen Sie Ihr Projekt> Fertig stellen
Klicken Sie nun mit der rechten Maustaste auf die Projektdatei und android-support-v7-appcompat> Eigenschaften> Android> und wählen Sie die neueste API aus, die angezeigt wird> OK
Klicken Sie mit der rechten Maustaste auf die Projektdatei> Eigenschaften> Android> Hinzufügen> android-support-v7-appcompat
In der oberen Eclipse-Leiste> Projekt> Reinigen
quelle
Ich habe den gleichen Fehler erhalten, als ich die Compile SDK-Version von API: 21 in API: 16 geändert habe. Das Problem war, Appcompat- Version. Wenn Sie eine ältere Version der Android-API verwenden müssen, müssen Sie auch diese Appcompat-Version ändern. In meinem Fall ( für API: 16 ) musste ich appcompat-v7: 19. + verwenden .
Also ersetze ich Abhängigkeiten in build.gradle wie folgt:
Stellen Sie sicher, dass Ihr SDK ältere Versionen von Appcompat-Versionen enthält
quelle
Ich war mit allem auf dem neuesten Stand und bekam immer noch diesen Fehler, nicht sicher warum, aber ich denke, das Bild wurde auf seltsame Weise beschädigt und nachdem ich das Bild ersetzt hatte, wurde ich den Fehler los. Könnte es wert sein, es mit einem anderen Bild zu versuchen :)
quelle
Mein Problem war, dass ich andere Bibliotheken hatte, auf die mein Projekt verwies, und diese Bibliotheken hatten eine andere Version von appcompat, auf die verwiesen wurde. Folgendes habe ich getan, um das Problem zu beheben:
(Sie sollten Ihr Projekt sichern, bevor Sie dies tun.)
1) Ich habe alle Appcompat-Layoutordner gelöscht (z. B. / res / layout-v11).
2) Die daraus resultierenden Probleme wurden behoben, normalerweise ein Fehler in menu.xml
3) Zurück zum Hauptprojekt und Appcompat-Bibliothek hinzufügen, bereinigen und alles funktioniert!
quelle