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.
Sie müssen als nächstes tun:
File->Import (Android-sdk\extras\Android\support\v7)
. Wähle "AppCompat"Project-> properties->Android.
In der Bereichsbibliothek "Add" und wählen Sie "AppCompat"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
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:
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">
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">
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.
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.
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" />
In Eclipse habe ich mit dem Projekt Android Support Library (APL) und dem Hauptprojekt (MP) Folgendes ausgeführt:
Es wurde sichergestellt, dass sowohl APPL als auch MP das gleiche minSdkVersion
und targetSdkVersion
hatten.
APL als Build-Abhängigkeit für MP hinzugefügt:
Gehen Sie zu "Eigenschaften> Java Erstellungspfad" von MP und dann
Wählen Sie die Registerkarte "Projekte" und fügen Sie APL hinzu.
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.
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
Gehen Sie zu Abhängigkeiten und klicken Sie auf '+' und wählen Sie Bibliotheksabhängigkeit Wählen Sie appcompat-v7
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.
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).
3. Fügen Sie Ihrem Projekt IDEA ein neues Modul aus einer vorhandenen Quelle hinzu.
4. Fügen Sie das AppCompat-Projekt hinzu. !!! Sollte auch unter dem letzten SDK sein! (ps. Sag "Ja" irgendwo in diesem Schritt)
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
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
6. Sehr wichtig !!!
Füge ein Thema mit dem Präfix @style hinzu (nicht ein anderes!) .
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.
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 .
Für Android Studio 1.2.2
Löschen Sie "Android" aus dem Attributwert parent
:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"></style>
sie benötigen die Referenz $ Android_SDK/extras/Android/support/v7/appcompat
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.+"
}
Mein Problem wird mithilfe der folgenden Schritte behoben
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.
Ich hatte das gleiche Problem und verschwendete meine 4-5 Stunden für die Lösung. Mein Problem wurde gelöst mit;
Ich hoffe, Sie finden Ihre Lösung.
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.
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>
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.
Schnellste Lösung:
klicken Sie mit der rechten Maustaste auf das Projekt -> Android Tools -> Support-Bibliothek hinzufügen.
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.
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.
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) <> <
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.
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
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
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.
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'
}
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.
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.
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!
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:
<your sdk path>\extras\Android\support\v13\Android-support-v13.jar
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"/>
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.