Keine Ressource gefunden - Theme.AppCompat.Light.DarkActionBar

145

Ich habe den ActionBar Style Generator verwendet und versuche nun, ihn in meine App zu integrieren.

Fehler: Fehler beim Abrufen des übergeordneten Elements für das Element: Es wurde keine Ressource gefunden, die dem angegebenen Namen '@ style / Theme.AppCompat.Light.DarkActionBar' entspricht.

Ich benutze android-support-v7-appcompat.jar lib im Ordner libs

Mein Ziel ist es, meine App 2.3 oder höher kompatibel zu machen

Sonne
quelle
Hast du das Glas zum libs-Ordner hinzugefügt?
Raghunandan
ja android-support-v7-appcompat.jar
So
1
@AbrahimNeil: siehe Kann nicht finden Theme.AppCompat.Light für neue Android ActionBar Support kann Ihnen vielleicht helfen
ρяσSρєя K

Antworten:

96

AppCompatist ein Bibliotheksprojekt. Sie müssen das Bibliotheksprojekt in Ihrem Android-Projekt referenzieren.

Überprüfen Sie das Thema Hinzufügen von Bibliotheken mit Ressourcen .

Raghunandan
quelle
1
bereits android-support-v7-appcompat.jar in libs Ordner gelegt
So
4
@AbrahimNeil das ist nicht der richtige Weg. Es ist ein Bibliotheksprojekt und muss daher genau wie Google Play Services referenziert werden
Raghunandan
Wenn ich android-support-v7-appcompat.jar importiere, kann ich das Ziel android-16 nicht auflösen. Ist es erforderlich?
So
1
Lassen Sie uns diese Diskussion im Chat fortsetzen
Raghunandan
1
Hinzufügen implementation 'com.android.support:appcompat-v7:28.0.0', unter Abhängigkeiten löste mein Problem.
Hilal
35

Wenn Sie Eclipse verwenden , fügen reference librarySie das wie folgt in Ihr Projekt ein:

  1. Klicken Sie in der Project ExplorerAnsicht mit der rechten Maustaste auf Ihr Projekt .
  2. Klicken Sie auf Properties.
  3. Klicken Sie Androidin das PropertiesFenster.
  4. LibraryKlicken Sie in der Gruppe aufAdd...
    • Siehe das Bild unten.
  5. Wählen Sie die Bibliothek aus. Klicken Sie auf OK .
  6. Klicken Sie OKim Eigenschaftenfenster erneut auf die Schaltfläche.

Die Schaltfläche "Hinzufügen" im Fenster "Projekteigenschaften", Abschnitt "Android", Gruppe "Bibliothek".

MD
quelle
4
Woher weißt du, dass Op Eclipse nicht Android Studio verwendet? Der Snap ist für Eclipse.
Raghunandan
@ Raghunandan Entschuldigung vergessen, es zu erwähnen
MD
1
Funktioniert perfekt in Eclipse. Vielen Dank!
Scott Biggs
33

Wenn Sie Android Studio verwenden, fügen Sie einfach die Abhängigkeit hinzu

dependencies {
     implementation 'com.android.support:appcompat-v7:25.0.1'
}

zu app/build.gradle. Und das wird funktionieren

NJ
quelle
2
Ähm ... es funktioniert nicht ... es wird immer noch nicht Android: Theme.AppCompat. * In meiner Datei styles.xml auflösen.
Michael
Ich habe gerade die Implementierung 'com.android.support:appcompat-v7:28.0.0' durch die Implementierung 'com.android.support:appcompat-v7:25.0.1' ersetzt und jetzt funktioniert es ... aber warum?
CGR
1
@CGR Ich glaube, Android hat die Themen für 28+ geändert und Light.DarkActionBar ist nicht mehr verfügbar.
DoomGoober
13

Für alle, die VS2015 verwenden, wurde dieser Fehler ebenfalls angezeigt, und es stellte sich heraus, dass ich die Bibliothek nicht zum Projekt hinzugefügt hatte ...

Install-Package Xamarin.Android.Support.v7.AppCompat
James Joyce
quelle
1
Ich habe dies erhalten, nachdem ich ein neues Projekt in VS2019 gestartet und es erstellt habe. Durch einfaches Ausführen einer "Rebuild Solution", ohne etwas anderes installieren zu müssen, wurden die Fehler behoben.
Glen Little
8

Wenn Sie Eclipse verwenden, funktioniert das Kopieren der Datei android-support-v7-appcompat.jar in den Ordner libs nicht, wenn Sie Ressourcen verwenden.

Befolgen Sie die Schritte von hier aus, um " Bibliotheken mit Ressourcen hinzufügen ".

Prakash
quelle
7

Eine einfache Lösung: Ersetzen Sie den Inhalt dieser Datei (/res/values/styles.xml) durch folgenden Text:

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
    <!-- Customize your theme here. -->
</style>

Wladimir Koroy
quelle
1
"Fehler beim Abrufen des übergeordneten Elements für das Element: Es wurde keine Ressource gefunden, die dem angegebenen Namen 'AppBaseTheme' entspricht."
Yousha Aleayoub
1
Dies ist nicht AppCompat .
IgorGanapolsky
4
dependencies {

    compile 'com.android.support:appcompat-v7:23.0.0'

}

Das hat bei mir funktioniert ... in Android Studio ...

Sreenu Yatam
quelle
4

In meinem Fall habe ich ein androidProjekt von einem Computer auf einen anderen übertragen und hatte dieses Problem. Was für mich funktioniert hat, war eine Kombination einiger der Antworten, die ich gesehen habe:

  • Entfernen Sie die Kopie der Appcompat-Bibliothek, die sich im libs-Ordner des Arbeitsbereichs befand
  • Installieren Sie SDK 21
  • Ändern Sie die Projekteigenschaften, um diesen SDK-Build zu verwenden Geben Sie hier die Bildbeschreibung ein
  • Richten Sie einen mit SDKS 21 kompatiblen Emulator ein und starten Sie ihn
  • Aktualisieren Sie die Ausführungskonfiguration, um das Gerät zur Ausführung aufzufordern, und wählen Sie Ausführen

Meins lief nach diesen Schritten gut.

JanB
quelle
3

Mit Visual Studio 2015 (Windows7) + Xamarin diesen Fehler hatte und nach mehreren Dinge ( die Installation von Paketen, download android_m2repository_r10.zip ...) versuchen , beendet die vollständige Entfernen Xamarin Ordner innerhalb

C:\Users\<my user>\AppData\Local

Danach erstellen Sie die Anwendung in VS neu und die Fehler sind verschwunden.

Riga
quelle
Dies hat bei mir funktioniert :) Hinweis: Verwenden von Visual Studio Enterprise. 2017 15.8 Vorschau 3.0
David Jones
Arbeitete auch für mich mit VS 2017.
Richard Lyle
3

Stellen Sie sicher, dass sich in Ihrem SDK ein v7-Verzeichnis befindet. Ich dachte, die 'Android Support Library' (in Extras) wäre ausreichend. Es stellte sich heraus, dass mir das 'Local Maven Repository für Support Libraries (Extras; Android; m2repository)' fehlte. Studio fand das tatsächlich und korrigierte die Gradle-Abhängigkeiten. mit gradle bauen dann funktionierte. $ cat app / build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "pat.example.com.gdbdemo"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.2.1'
}
Patrick Lefevre
quelle
3
dependencies {
    implementation 'com.android.support:appcompat-v7:28.0.0'
}

Kompilierung wurde durch Implementierung ersetzt, weiß nicht warum.

Paul McCarthy
quelle
Das ist die Lösung für mich.
Shizhen
2

Wenn Sie Android.mk zum Erstellen verwenden, verwenden Sie USE_AAPT2, das die erstellte Ressource aus dem AAR verknüpft.

Fügen Sie die folgende Zeile in die Datei Android.mk ein:

LOCAL_USE_AAPT2: = true

Prasanth.NVS
quelle
1
  1. Aktualisieren Sie Ihr SDK im Manager und stellen Sie sicher, dass Sie es einschließen Android support library in den Extras enthalten ist
  2. Gehen Sie im Datei-Explorer (Finder auf dem Mac) zum SDK und suchen Sie den Ordner des Extra ( ..\sdk\extras\android\support\v7\appcompat\res\valuesunter Windows). Irgendwo drin ist ein themes.xmlund themes_base.xml . Kopieren Sie diese beiden Dateien.
  3. Fügen Sie in Ihrem Projekt die Dateien in das Verzeichnis 'values' ein
Alex Jolig
quelle
Das Kopieren von theme_base.xml in res / values ​​löste das ursprüngliche Problem, führte jedoch zu anderen ungelösten Verweisen.
FractalBob
1

Wenn Sie Visual Studio für MAC verwenden , beheben Sie das Problem, indem Sie auf Projekt> Nutget-Pakete wiederherstellen klicken

JotaPardo
quelle
0

In Eclipse: Wenn im Anschluss an den Anweisungen , um eine Support - Bibliothek als Projektbibliothek Import bei Support - Bibliotheken hinzufügen , vergessen Sie nicht die Option „Copy proyects in Arbeitsbereich“ zu überprüfen !

villamejia
quelle
0

Ich hatte das gleiche Problem. Keine der hier aufgeführten Lösungen hat meiner Situation geholfen. Wie sich herausstellte, habe ich den übergeordneten Ordner für ein Projekt in Android Studio 1.5 importiert und nicht den Projektordner selbst. Dies warf Gradel in ein Schwindelgefühl. Die Lösung bestand darin, stattdessen den Projektordner zu importieren.

BishopZ
quelle
-1

In Xamarin, wenn Sie dieses Problem haben, wenn Sie ein neues SDK hinzufügen. Die einfache Lösung ist Öffnen Sie Ihre Stildatei und fügen Sie diese Zeile hinzu.

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"></style>

Es ist eine bessere Lösung als Appcompat hinzuzufügen.

Nawin
quelle