Ich versuche, die neue ActionBar- Supportbibliothek zu implementieren, die vor einigen Tagen von Google veröffentlicht wurde. In der Vergangenheit habe ich ActionBarSherlock erfolgreich und ohne Probleme mit derselben Methode implementiert, die auf der Seite zum Einrichten der Supportbibliothek von Google Developer aufgeführt ist. Dabei wurde die Anleitung zum Einbeziehen der Ressourcen verwendet (ä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 Activity auf meiner MainActivity.java nicht erweitert habe, sondern ActionBarActivity (gemäß den Anweisungen von Google) erweitert habe, treten keine Fehler auf - und es wird korrekt importiert.
Ich habe sogar versucht , die style.xml Datei umgehen und das Hinzufügen @style/Theme.AppCompat.Light
direkt in die AndroidManifest.xml für beide <application>
und <activity>
mit android:theme="@style/ThemeAppCompat.Light"
allen Versuchen im gleichen Fehler führen.
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 Datei style.xml, die ich geändert habe, um das neue Thema zu verwenden.
Ich habe mäßige Erfahrung mit Android-Apps und verwende Eclipse mit der neuesten Version der Support Libraries und des SDK, die mit API 18 (Android 4.3) kompiliert wurden.
Fehler beim Erstellen empfangen
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 nie ein Problem mit ActionBarSherlock. Ich möchte an der Verwendung dieser neuen Support-Bibliothek arbeiten. Es scheint fast so, als würde das .jar geladen, aber nicht die Ressourcen.
quelle
Antworten:
Sie müssen als nächstes tun:
File->Import (android-sdk\extras\android\support\v7)
. Wählen Sie "AppCompat"Project-> properties->Android.
In der Abschnittsbibliothek "Hinzufügen" 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/actionbar.html ändern
quelle
Wenn Sie wie ich dem Android-Tutorial unter http://developer.android.com/training/basics/actionbar/setting-up.html folgen und weiterhin diesen Fehler erhalten, versuchen Sie, den
AppBaseTheme
Stil in allenstyles.xml
Dateien zu ändern . Im Detail:In der Datei
res/values/styles.xml
ändern Sie die Zeile:zu:
In der Datei
res/values-v11/styles.xml
ändern Sie die Zeile:zu:
In der Datei
res/values-v14/styles.xml
ändern Sie die Zeile:zu:
Jetzt sollte die Anwendung gut laufen.
quelle
res/values/styles.xml
in einem neuen Android-Projekt. Zumindest nicht, wenn Sie es mit erstellenandroid create project
.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:
Dies sollte Ihre '{your_project_name} .iml'-Datei mit lib-Komponenten aktualisieren:
quelle
Ich werde meine Erfahrungen mit diesem Problem teilen. Aus diesem Grund wurde ich verrückt, aber ich fand heraus, dass das Problem ein Fehler mit Eclipse selbst und nicht mit meinem Code war: In Eclipse konnte ich kein Android-Bibliotheksprojekt in einem anderen Android-Projekt referenzieren
Wenn Sie also die Android Support Library in Ihrem Laufwerk C: und Ihr Projekt im Laufwerk D: auf Ihrem Computer haben, funktioniert Eclipse nicht richtig und weiß nicht, wo sich die Android Support Library befindet (grünes Häkchen wird rot) ). Um dies zu lösen, müssen Sie beide Projekte auf dieselbe Festplatte verschieben.
quelle
In Eclipse habe ich mit dem Android Support Library ( APL ) -Projekt und dem Hauptprojekt ( MP ) Folgendes getan :
Sichergestellt, dass sowohl APL als auch MP das gleiche
minSdkVersion
und hattentargetSdkVersion
.APL als Build-Abhängigkeit für MP hinzugefügt :
Gehen Sie zu "Eigenschaften> Java Build Path" 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 Bibliothek hinzugefügt .
In 1 und 2 funktionierten die Verweise auf Java-Klassen einwandfrei . Beim Versuch, von APL aus zu referenzieren, wurde jedoch immer noch der Fehler im
manifest.xml
for MP angezeigt . Dies ging erst weg, als ich Schritt 3 durchführte.@style/Theme.AppCompat.Light
quelle
Es ist etwas spät, aber hier ist, wie ich es in AndroidStudio mache!
Klicken Sie mit der rechten Maustaste auf die App, um zu den Eigenschaften zu gelangen
Gehen Sie zu Abhängigkeiten und klicken Sie auf das Pluszeichen (+) und wählen Sie Bibliotheksabhängigkeit. Wählen Sie appcompat-v7
quelle
IntelliJ IDEA-Lösung.
1. Führen Sie den Android SDK Manager aus und installieren Sie das neueste SDK und die Android Support Libarary . Die Version von SDK und Android Support Libarary sollte identisch 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. Sie dürfen Maven nicht verwenden).
3. Fügen Sie Ihrem IDEA-Projekt ein neues Modul aus einer vorhandenen Quelle hinzu.
4. Fügen Sie das AppCompat-Projekt hinzu. !!! Sollte auch unter dem letzten SDK sein! (ps. Sagen Sie "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ählte android-support-v7-appcompat
5.2. 2 Stk. Bibliotheksabhängigkeiten. Fügen Sie android-sdk \ extras \ android \ support \ v7 \ appcompat \ libs \ android-support-v4.jar und android-support-v4 \ android-support-v7-appcompat.jar hinzu
Insgesamt wird es sein:
6. Sehr wichtig !!!
Fügen Sie ein Thema mit dem Präfix @style hinzu (kein anderes!) .
Android Studio-Lösung.
1. Führen Sie den Android SDK Manager aus und installieren Sie das neueste SDK und die Android Support Libarary . Die Version von SDK und Android Support Libarary sollte identisch sein ! 23 in meinem Fall. Andere Varianten geben Ihnen die Fehler.
2. Fügen Sie neben build.gradle hinzu
PS Wenn Sie neu in der Android-Entwicklung sind, empfehle ich Ihnen dringend, jetzt zu Android Studio & Gradle zu wechseln - Sie erhalten die einfachste Möglichkeit, Ihre Android-App zu verwalten.
quelle
Für Android Studio 1.2.2
Löschen Sie "android" aus dem
parent
Attributwert:quelle
Sie benötigen die Referenz $ ANDROID_SDK / extras / android / support / v7 / appcompat
quelle
appcompat
als Android-Bibliothek, Ihre Hauptprojektressource kann Thema von AppcompatFür IntelliJ IDEA oder Android Studio:
Fügen Sie dies der Build-Datei app.gradle hinzu
Ersetzen Sie
-v:xx.0+
durch Ihr Build-Ziel, wenn Sie 19 Plattformen haben, dann muss es wie folgt aussehen:quelle
Befolgen Sie die Schritte von @rcdmk. Löschen Sie die Android-Unterstützung v4.jar in Ihrem Projekt. Es widerspricht der neuen aktualisierten Version in appcompat.
quelle
Ich hatte das gleiche Problem und verschwendete meine 4-5 Stunden für die Lösung. Mein Problem gelöst mit;
Ich hoffe, Sie finden Ihre Lösung.
quelle
Mein Problem wird über die folgenden Schritte behoben
Fügen Sie die 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.
quelle
funktioniert:
quelle
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 hinzugefügt
zu
build.gradle
. Hat für mich gearbeitet.quelle
http://developer.android.com/tools/support-library/setup.html hat einen Fehler. Unter Eigenschaft-> Java-Erstellungspfad -> 'Projekt' und 'Bestellen und Exportieren' sollten keine JARs vorhanden sein. Das Entfernen und Überprüfen von "Android Private Libraries" und "Android Dependencies" löste mein Problem.
quelle
Ich hatte das gleiche Problem wie das OP, nachdem ich mit der rechten Maustaste auf mein Projekt geklickt und " Nicht verwandte 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.
quelle
Es ist mir passiert, als Eclipse (Luna) / AndroidSDK (nicht Android Stduio) am 14. Januar 2015 während des Projekts wie HelloWorld mit den neuesten Tools und der neuesten Bibliothek verwendet wurden. Als ich diese Tools installiert und HelloWorld zur ersten App gemacht habe, habe ich alle Standardeinstellungen akzeptiert. - Das 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 alles im "Android SDK Manager" tun, der im Menü verfügbar ist.
(Android SDK Manager -> Extra -> Android Support Library)
Segen, (ein Schuldner) <> <
quelle
Schnellste Lösung:
Klicken Sie mit der rechten Maustaste auf das Projekt -> Android-Tools -> Support-Bibliothek hinzufügen.
quelle
Ich habe einen wirklich dummen Fehler gemacht. Wenn ich jedes Mal den gleichen Fehler bekam, konnte ich nicht herausfinden, was los war. dann hat es mich geklickt, dass, sobald ich alle Projekte in meinem Arbeitsbereich geschlossen habe und dies die Zeit war, seit alle Probleme begonnen haben. Überprüfen Sie also einfach, ob Ihre "appcompat_v7" nicht geschlossen ist. Wenn dies der Fall ist, öffnen Sie das Projekt per Doppelklick und bereinigen Sie es und erstellen Sie es erneut. In meinem Fall waren die Fehler weg. Viel Spaß beim Codieren!
quelle
Ich bin nicht sicher, ob die v13-Supportbibliothek verfügbar war, als diese Frage gestellt wurde, aber falls jemand immer noch Probleme hat, habe ich gesehen, dass das Hinzufügen
android-support-v13.jar
alles reparieren wird. So habe ich es gemacht:<your sdk path>\extras\android\support\v13\android-support-v13.jar
quelle
Für Android Studio oder IntelliJ müssen Sie lediglich Ihre Abhängigkeiten in gradle.build aktualisieren. Ich habe folgendes verwendet:
quelle
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 Arbeitsbereichsverzeichnis). Bereinigen Sie Ihr Projekt erst, wenn es fehlerfrei ist. Andernfalls haben Sie Schwierigkeiten mit R.java
quelle
Sie sollten ein neues Projekt mit einem beliebigen Namen erstellen und dann appcompat_v7 verwenden, um das Programm neu zu erstellen.
Add
Wählen Sie in der Abschnittsbibliothek Bibliothek appcompat aus.quelle
Klicken Sie in Eclipse mit der rechten Maustaste auf Ihr Projekt-> Build-Pfad auswählen und dann Build-Pfad konfigurieren. Wählen Sie im Fenster die gewünschte JAR-Datei aus und aktualisieren Sie Ihr Projekt
quelle
Die akzeptierte Lösung hat früher für mich funktioniert, jetzt aber 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 an:Es sieht so aus, als ob Eclipse für API 21 kompilieren möchte und mit API 19 nichts anfangen kann.
quelle
Wenn Sie die appCompat- Bibliothek hinzugefügt und die richtige Referenz für appCompat vom SDK-Speicherort angegeben haben, versuchen Sie "Caches ungültig machen / neu starten" .
Sie finden es im Menü "Datei" in Android Studio.
quelle
In meinem Fall trat das Problem auf, da ich ein SDK verwenden wollte, das nicht die erforderliche Bibliothek enthält. Als ich die min erhöhte. Auf SDK-Ebene ist das Problem verschwunden. Natürlich sollte die direkte Behebung der Bibliothek selbst auch den Fehler beseitigen.
quelle
Vergiss alles. Verwenden Sie einfach die Appcompat-Bibliothek, die mit Android Studio heruntergeladen wurde. Es hat alle fehlenden Definitionen. Egal, ob Sie in Eclipse verwenden oder nicht.
quelle
Ich hatte das gleiche Problem und selbst nach dem Importieren / Hinzufügen eines JAR / einer Bibliothek, wie in den Antworten erwähnt, würde es den Fehler nicht lösen. Aus Frustration habe ich gerade einen neuen Arbeitsbereich erstellt und ein neues Android-Projekt erstellt. Es hat automatisch appcompat_v7 importiert und es gab keine Fehler beim Bereinigen und Erstellen. Ich musste kein einzelnes Glas / keine Bibliothek manuell importieren. Nur zu Ihrer Information, ich verwende Eclipse Mars.1 Release (4.5.1) und hatte jedes Mal, wenn ich ein neues Android-Projekt erstellte, genau das gleiche Problem.
quelle