wake-up-neo.com

Theme.AppCompat.Light für neue Android ActionBar-Unterstützung kann nicht gefunden werden

Ich versuche, die neue Unterstützungsbibliothek ActionBar zu implementieren, die vor ein paar Tagen von Google veröffentlicht wurde. In der Vergangenheit habe ich ActionBarSherlock mit derselben Methode, die auf der Seite Support Library Setup von Google Developer aufgeführt ist, erfolgreich und ohne Probleme implementiert. Verwenden Sie dazu die Anleitung zum Einbeziehen der Ressourcen (ähnlich wie bei ActionBarSherlock ). Ich habe das Bibliotheksprojekt auch als Bibliothek in mein eigenes Projekt geladen.

Ich kann sagen, dass die Bibliothek gut geladen wird. Wenn ich die Aktivität in MainActivity.Java nicht verlängere, sondern ActionBarActivity (gemäß den Anweisungen von Google) erweitere, treten keine Fehler auf - und der Import wird korrekt ausgeführt.

Ich habe sogar versucht, die style.xml-Datei zu umgehen und @style/Theme.AppCompat.Light direkt in die AndroidManifest.xml für <application> und <activity> mit Android:theme="@style/ThemeAppCompat.Light" einzufügen, wobei alle Versuche zu demselben Fehler führten .

Jetzt ist das Problem, dass ich es nicht dazu bringen kann, das Thema zu ändern, geschweige denn zu bauen, ohne einen Fehler zu werfen. Unten ist der Fehler, den ich erhalte, gefolgt von der style.xml-Datei, die ich geändert habe, um das neue Design zu verwenden.

Ich habe mäßige Erfahrung mit Android Apps und starte Eclipse mit der neuesten Version der Support-Bibliotheken und des SDK, die mit API 18 (Android 4.3) kompiliert wurden.

Fehler beim Erstellen

fehler: Fehler beim Abrufen des übergeordneten Elements für das Element: Es wurde keine Ressource gefunden, die dem angegebenen Namen "@ style/Theme.AppCompat.Light" entspricht. styles.xml/ActBarTest/res/values ​​Zeile 3 Android AAPT Problem

style.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Theme.ProsoftStudio.ACTest" parent="@style/Theme.AppCompat.Light">
    </style>
</resources>

Irgendwelche Vorschläge? Dies war bei ActionBarSherlock nie ein Problem. Ich möchte daran arbeiten, diese neue Support-Bibliothek zu verwenden. Es scheint fast so, als würde die .jar geladen, aber nicht die Ressourcen.

349

Sie müssen als nächstes tun:

  1. File->Import (Android-sdk\extras\Android\support\v7). Wähle "AppCompat"
  2. Project-> properties->Android. In der Bereichsbibliothek "Add" und wählen Sie "AppCompat"
  3. Das ist alles!

Hinweis: Wenn Sie im Menüelement "Android: showAsAction" verwenden, müssen Sie das Präfix Android wie im Beispiel http://developer.Android.com/guide/topics/ui) ändern /actionbar.html

386

Wenn Sie, wie ich, das Android Tutorial am http://developer.Android.com/training/basics/actionbar/setting-up.html folgen und dieses weiterhin erhalten Fehler, versuchen Sie, den AppBaseTheme -Stil in allen styles.xml -Dateien zu ändern. Im Detail:

  1. In der Datei res/values/styles.xml ändern Sie die Zeile:

    <style name="AppBaseTheme" parent="Android:Theme.Light">
    

    zu:

    <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
    
  2. In der Datei res/values-v11/styles.xml ändern Sie die Zeile:

    <style name="AppBaseTheme" parent="Android:Theme.Holo.Light">
    

    zu:

    <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
    
  3. In der Datei res/values-v14/styles.xml ändern Sie die Zeile:

    <style name="AppBaseTheme" parent="Android:Theme.Holo.Light.DarkActionBar">
    

    zu:

    <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
    

Jetzt sollte die Anwendung gut laufen.

117
marco110

Ich werde meine Erfahrungen mit diesem Problem teilen. Aus diesem Grund wurde ich verrückt, aber ich stellte fest, dass das Problem eher ein Fehler in Eclipse selbst als in meinem Code war: In Eclipse kann auf ein Android - Bibliotheksprojekt in einem anderen Android nicht verwiesen werden >] Projekt

Wenn Sie also die Support-Bibliothek Android auf Ihrem Laufwerk C: und Ihr Projekt auf dem Laufwerk D: auf Ihrem Computer haben, funktioniert Eclipse nicht ordnungsgemäß und Sie wissen nicht, wo sich die Support-Bibliothek Android befindet ist (grünes Häkchen wird rotes Kreuz). Um dies zu lösen, müssen Sie beide Projekte auf dieselbe Festplatte verschieben.

28
DrFred

Dies ist ein Problem, das in Android Studio auftreten kann, wenn Sie Projektstrukturmodule ändern. In diesem Fall müssen Sie die Abhängigkeiten möglicherweise erneut hinzufügen. Bearbeiten Sie in einem Texteditor die Datei 'build.gradle', um die erforderlichen Abhängigkeiten einzuschließen:

dependencies {
    compile 'com.Android.support:appcompat-v7:+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

Dies sollte Ihre '{your_project_name} .iml'-Datei mit lib-Komponenten aktualisieren:

<orderEntry type="library" exported="" name="appcompat-v7-19.0.1" level="project" />
26
David Douglas

In Eclipse habe ich mit dem Projekt Android Support Library (APL) und dem Hauptprojekt (MP) Folgendes ausgeführt:

  1. Es wurde sichergestellt, dass sowohl APPL als auch MP das gleiche minSdkVersion und targetSdkVersion hatten.

  2. APL als Build-Abhängigkeit für MP hinzugefügt:

    1. Gehen Sie zu "Eigenschaften> Java Erstellungspfad" von MP und dann

    2. Wählen Sie die Registerkarte "Projekte" und fügen Sie APL hinzu.

  3. In den Eigenschaften von MP wurde unter "Android" ein Verweis auf APL unter library hinzugefügt.

1 und 2 haben die Verweise auf Java-Klassen erhalten, die einwandfrei funktionieren ... Ich habe jedoch immer noch den Fehler in _manifest.xml_ für MP gesehen, als ich versucht habe, _@style/Theme.AppCompat.Light_ von APL. Dies verschwand erst, als ich Schritt 3 durchführte.

23
yogi

Es ist etwas spät, aber hier ist, wie ich es in AndroidStudio erledige!

Klicken Sie mit der rechten Maustaste auf die App, um zu den Eigenschaften zu gelangen Right click on app to goto properties

Gehen Sie zu Abhängigkeiten und klicken Sie auf '+' und wählen Sie Bibliotheksabhängigkeit Go to Dependencies and click on '+' sign and choose library dependency Wählen Sie appcompat-v7 Choose appcompat-v7

16
Rahul Kumar

IntelliJIDEA Lösung.

1. Führen Sie Android SDK Manager aus und installieren Sie das neueste SDK und Android-Unterstützungsbibliothek . Die Version von SDK und Android Support Libarary sollte dieselbe sein ! 23 in meinem Fall. Andere Varianten geben Ihnen die Fehler.
enter image description here
2. Ändern Sie die SDK-Version Ihres IDEA -Projekts in die letzte, die Sie im vorherigen Schritt installiert haben. (ps. du darfst Maven nicht benutzen).
enter image description here

3. Fügen Sie Ihrem Projekt IDEA ein neues Modul aus einer vorhandenen Quelle hinzu.
enter image description here

4. Fügen Sie das AppCompat-Projekt hinzu. !!! Sollte auch unter dem letzten SDK sein! (ps. Sag "Ja" irgendwo in diesem Schritt)
enter image description here

5. Öffnen Sie die Einstellungen Ihres Hauptprojektmoduls und fügen Sie die nächsten 3 Abhängigkeiten hinzu:

5.1. Modulabhängigkeit. Wähle Android-support-v7-appcompat
enter image description here

5.2. 2 Stk. Bibliotheksabhängigkeiten. Füge Android-sdk\extras\Android\support\v7\appcompat\libs\Android-support-v4.jar hinzu und Android-support-v4\Android-support-v7-appcompat.jar
enter image description here

Insgesamt wird es sein:
enter image description here

6. Sehr wichtig !!!
Füge ein Thema mit dem Präfix @style hinzu (nicht ein anderes!) .
enter image description here



Android Studio-Lösung.

1. Führen Sie Android SDK Manager aus und installieren Sie das neueste SDK und Android-Unterstützungsbibliothek . Die Version von SDK und Android Support Libarary sollte dieselbe sein ! 23 in meinem Fall. Andere Varianten geben Ihnen die Fehler.
enter image description here

2. Addiere neben build.gradle

dependencies {
    compile 'com.Android.support:appcompat-v7:23.0.1'
} 

P.S. Wenn Sie in der Entwicklung von Android neu sind, empfehle ich Ihnen dringend, sofort zu Android Studio & Gradle zu wechseln - Sie erhalten die einfachste Möglichkeit, Ihre Android App zu verwalten .

12
Yuliia Ashomok

Für Android Studio 1.2.2

Löschen Sie "Android" aus dem Attributwert parent:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"></style>
9
mumush

sie benötigen die Referenz $ Android_SDK/extras/Android/support/v7/appcompat

7
Crossle Song

Für IntelliJ IDEA oder Android Studio:

Fügen Sie dies zur Build-Datei app.gradle hinzu

dependencies {
    compile "com.Android.support:appcompat-v7:21.0.+"
} 

Ersetzen Sie -v:xx.0+ durch Ihr Build-Ziel. Wenn Sie über 19 Plattformen verfügen, muss dies folgendermaßen aussehen:

dependencies {
    compile "com.Android.support:appcompat-v7:19.0.+"
}
5
geniushkg

Mein Problem wird mithilfe der folgenden Schritte behoben

  1. Datei-> Importieren (Android-sdk\extras\Android\support\v7\appcompat)
  2. Klicken Sie mit der rechten Maustaste auf Projekt-> Eigenschaften-> Android. Wählen Sie im Bereich Bibliothek "Hinzufügen" die Bibliothek AppCompat aus, die in Schritt 1 enthalten ist
  3. Löschen Sie alle Dateien aus dem libs-Verzeichnis des Projekts
  4. füge folgende Datei zum libs Verzeichnis des Projekts hinzu <SDK-PATH>\extras\Android\support\v13Android-support-v13.jar

    Starten Sie Eclipse bei Bedarf neu. Das ist es. Ihr Problem sollte verschwunden sein.

3
Wasim A.

Ich hatte das gleiche Problem und verschwendete meine 4-5 Stunden für die Lösung. Mein Problem wurde gelöst mit;

  1. Löschen Sie im SDK-Manager die Pakete "Android Support Library" und "Android Support Repository".
  2. Installieren Sie "Android Support Library" und "Android Support Repository" neu.
  3. Entfernen Sie "Android-support-v7-appcompat" oder "appcompat_v7", was Sie noch in Ihrem Projekt haben.
  4. Importieren Sie Android-support-v7-appcompat von "adt-bundle-windows-x86_64-20140702\sdk\extras\Android\support\v7\appcompat"
  5. Wählen Sie Ihr Projekt aus und wählen Sie in der Datei Eigenschaften aus und suchen Sie nach Java Build Path. Löschen Sie dann auf der Registerkarte "Project", was noch vorhanden ist, und klicken Sie auf Add. und Sie müssen "Android-support-v7-appcompat" sehen, auswählen und zur Registerkarte Projekt hinzufügen.
  6. Überprüfen Sie Ihre project.properties-Datei unter Ihren Project-Dateien. target = Android-21 Android.library.reference.1 = ../Android-support-v7-appcompat Überprüfen Sie dann die Datei AndroidManifest.xml, ob target 21 ist oder was Sie ausgewählt haben. Überprüfen Sie auch, ob eine Bibliotheksreferenz vorhanden ist, die mit Ihrer zuvor ausgewählten Bibliothek übereinstimmt.

Ich hoffe, Sie finden Ihre Lösung.

3
syildizeli

Folgen Sie den Schritten von @rcdmk. Löschen Sie das Android support v4.jar in IHREM Projekt. Es steht in Konflikt mit der neuen aktualisierten Version von appcompat.

3
i_am_leo

funktioniert:

<style name="MyApp" parent="Theme.AppCompat.Light">
</style>
<style name="MyApp" parent="@style/Theme.AppCompat.Light">
</style>
<style name="Theme.AppCompat.Light.MyApp">
</style>
2
Yin

Da das Import-Dialouge in Android Studio 1.0.1 anders ist, konnte ich die Svyatoslav Lobachs-Version nicht zum Laufen bringen.

Stattdessen habe ich "Android Support Repository" im SDK-Manager heruntergeladen. Dann fügte hinzu

dependencies {
...
compile "com.Android.support:appcompat-v7:18.0.+"
}

zu build.gradle. Hat für mich gearbeitet.

2
qwertz

Schnellste Lösung:

klicken Sie mit der rechten Maustaste auf das Projekt -> Android Tools -> Support-Bibliothek hinzufügen.

enter image description here

1
Jesus Dimrix

Ich hatte das gleiche Problem wie beim OP, nachdem ich mit der rechten Maustaste auf mein Projekt geklickt und nverwandte Projekte schließen ausgewählt hatte.

In meinem Fall habe ich das Problem behoben, indem ich das Projekt appcompat_v7 erneut geöffnet und beide Projekte bereinigt/neu erstellt habe.

1

http://developer.Android.com/tools/support-library/setup.html hat einen Fehler. In Eigenschaft-> Java-Erstellungspfad -> 'Projekt' und 'Bestellen und Exportieren' sollte es keine JARs geben. Durch das Entfernen und Aktivieren von "Android Private Libraries" und "Android Dependencies" wurde mein Problem behoben.

1
Joe C

Es passierte mir, als Eclipse (Luna)/AndroidSDK (nicht Android Stduio) mit den neuesten Tools und der neuesten Bibliothek ab dem 14. Januar 2015 während des Projekts wie HelloWorld verwendet wurden. Als ich diese Tools installiert und HelloWorld zur ersten App gemacht habe, habe ich alle Standardeinstellungen akzeptiert. - Dies ist das Problem in meinem Fall.

Überprüfen Sie zunächst, ob die Bibliothek "Android Support Library" installiert ist. Wenn nicht, installieren Sie es. Es ist nicht standardmäßig installiert. Sie können dies alles in "Android SDK Manager" tun, der im Menü verfügbar ist.

(Android SDK Manager -> Extra -> Android Support Library)

Segen, (ein Schuldner) <> <

1
Youngsup Kim

Früher hat die akzeptierte Lösung für mich funktioniert, aber jetzt nicht mehr. Ich musste eine Hallo-Welt der gleichen Art (!) In einem neuen Arbeitsbereich neu erstellen, kompilieren und dann alle Verzeichnisse kopieren, einschließlich .hg und .hgignore. hg diff zeigt:

-        Android:targetSdkVersion="19" />
+        Android:targetSdkVersion="21" />

Binary file libs/Android-support-v4.jar has changed

Es sieht so aus, als ob Eclipse für API 21 kompilieren möchte und mit API 19 nichts anfangen kann.

Ich hatte das gleiche Problem und selbst nach dem Importieren/Hinzufügen einer JAR/Bibliothek, wie in den Antworten erwähnt, konnte der Fehler nicht behoben werden. Aus Frust habe ich gerade einen neuen Arbeitsbereich erstellt und ein neues Android Projekt erstellt, und appcompat_v7 wurde automatisch importiert, und es gab keine Fehler beim Bereinigen und Erstellen. Musste kein einzelnes Glas/Bibliothek manuell importieren. Nur zu Ihrer Information: Ich verwende Eclipse Mars.1 Release (4.5.1) und hatte jedes Mal das gleiche Problem, wenn ich ein neues Android Projekt erstellt habe.

0
API

klicken Sie in Eclipse mit der rechten Maustaste auf Ihr Projekt -> wählen Sie den Erstellungspfad aus und wählen Sie dann Erstellungspfad konfigurieren aus. Wählen Sie im Fenster die gewünschte JAR-Datei aus und aktualisieren Sie Ihr Projekt

0
Rahul

Ich weiß nicht, wie viele von Ihnen das bemerkt haben. Die Unterstützungsbibliothek "appcompat_v7" und Ihr Projekt sollten sich in demselben Verzeichnis befinden (ich meine das Arbeitsbereichsverzeichnis). Reinigen Sie Ihr Projekt erst, wenn es fehlerfrei ist, da Sie sonst Schwierigkeiten mit R.Java haben werden

0
Isham

Vergiss alles. Verwenden Sie einfach die AppCompat-Bibliothek, die Sie mit dem Android Studio heruntergeladen haben. Es hat alle fehlenden Definitionen. Egal, ob Sie in Eclipse verwenden oder nicht.

0
Rohit Rokde

Für Android Studio oder IntelliJ müssen Sie lediglich Ihre Abhängigkeiten in gradle.build aktualisieren. Ich habe folgendes benutzt:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.Android.support:appcompat-v7:21.0.2'
}
0
BostonGeorge

Wenn Sie appCompat Library hinzugefügt haben und auch einen korrekten Verweis auf appCompat vom SDK-Speicherort angegeben haben, versuchen Sie "Caches ungültig machen/Neustart".
Sie finden es im Menü "Datei" in Android Studio.

0
Suraj Dubey

In meinem Fall trat das Problem auf, da ich ein SDK verwenden wollte, das die erforderliche Bibliothek nicht enthält. Als ich die min. SDK-Ebene das Problem verschwunden. Natürlich sollte auch die direkte Einbindung der Bibliothek selbst den Fehler beseitigen.

0

Ich habe einen wirklich dummen Fehler gemacht. Wenn ich jedes Mal den gleichen Fehler bekam, konnte ich nicht herausfinden, was los war. dann klickte es mich an, dass sobald ich alle Projekte in meinem Arbeitsbereich geschlossen habe und das die Zeit war, seit alle Probleme begannen. SO prüfe nur, ob dein "appcompat_v7" nicht geschlossen ist. Wenn dies der Fall ist, öffnen Sie das Projekt per Doppelklick und bereinigen Sie Ihr Projekt und erstellen Sie es erneut. In meinem Fall waren die Fehler weg. Viel Spaß beim Codieren!

0
Riddhi Dudani

Ich bin nicht sicher, ob die v13-Supportbibliothek verfügbar war, als diese Frage gepostet wurde, aber falls es immer noch Probleme gibt, habe ich gesehen, dass das Hinzufügen von Android-support-v13.jar alles korrigiert. So habe ich es gemacht:

  1. Klicken Sie mit der rechten Maustaste auf das Projekt -> Eigenschaften
  2. Wählen Sie im linken Inhaltsverzeichnis Java Build Path aus
  3. Gehen Sie zur Registerkarte Bibliotheken
  4. Add External jars button und wähle <your sdk path>\extras\Android\support\v13\Android-support-v13.jar
0
swap_1712

Ich habe die Fehlermeldung:

Fehler: (18) Fehler beim Abrufen des übergeordneten Elements für das Element: Es wurde keine Ressource gefunden, die dem angegebenen Namen 'Theme.AppCompat.NoActionBar' entspricht.

mit dieser Konfiguration:

  compileSdkVersion 23
  buildToolsVersion "23.0.1"

Ich muss das Thema wechseln von:

 <style name="AppTheme" parent="Theme.AppCompat.NoActionBar"/>

zu:

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"/>
0
Jorgesys

Sie sollten ein neues Projekt mit einem beliebigen Namen erstellen und dann appcompat_v7 verwenden, damit das Programm neu erstellt.

Right Click Project-> properties->Android

In der Sektion library Add wählen Sie library appcompat.

0
Sale