Nessuna risorsa trovata - Theme.AppCompat.Light.DarkActionBar


145

Ho usato ActionBar Style Generator e ora sto provando a utilizzarlo nella mia app, ma ottenendo:

errore: errore durante il recupero del genitore per l'elemento: nessuna risorsa trovata che corrisponde al nome dato '@ style / Theme.AppCompat.Light.DarkActionBar'.

sto usando android-support-v7-appcompat.jar lib all'interno della cartella libs

il mio obiettivo è rendere la mia app compatibile 2.3 o successiva


hai aggiunto il jar alla cartella libs?
Raghunandan,

sì android-support-v7-appcompat.jar
dom

Risposte:


96

AppCompatè un progetto di biblioteca. Devi fare riferimento al progetto della biblioteca nel tuo progetto Android.

Controlla l'argomento Aggiunta di librerie con risorse .


1
già posizionato android-support-v7-appcompat.jar nella cartella libs
Sun

4
@AbrahimNeil non è il modo giusto. è un progetto di biblioteca e quindi deve essere referenziato proprio come Google Play Services
Raghunandan,

quando sto importando android-support-v7-appcompat.jar ottenendo Impossibile risolvere il target android-16 è necessario?
Dom


1
aggiungendo implementation 'com.android.support:appcompat-v7:28.0.0', sotto le dipendenze risolto il mio problema.
Hilal,

35

Se stai usando Eclipse , aggiungi il reference librarytuo progetto nel modo seguente:

  1. Fare clic con il tasto destro del mouse sul progetto nella Project Explorervista.
  2. Fare clic Properties.
  3. Clicca Androidnella Propertiesfinestra
  4. Nel Librarygruppo, fai clic suAdd...
    • Vedi l'immagine sotto.
  5. Seleziona la biblioteca Fare clic OK .
  6. Fare di OKnuovo clic sul pulsante nella finestra Proprietà.

Il pulsante "Aggiungi" nella finestra Proprietà del progetto, sezione Android, gruppo Libreria.


4
come fai a sapere che op sta usando eclipse non android studio ?. lo snap pubblicato è per eclipse.
Raghunandan,

@Raghunandan dispiace dimenticare di menzionare che
MD

1
Funziona perfettamente in Eclipse. Grazie!
Scott Biggs,

33

Se stai usando Android Studio, aggiungi semplicemente la dipendenza

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

a app/build.gradle. E funzionerà


2
Uhm ... non funziona ... non risolverà ancora Android: Theme.AppCompat. * Nel mio file styles.xml.
Michael

Ho appena sostituito l'implementazione 'com.android.support:appcompat-v7:28.0.0' con l'implementazione 'com.android.support:appcompat-v7:25.0.1' e ora funziona ... ma perché?
CGR

1
@CGR Credo che Android abbia cambiato i temi per 28+ e Light.DarkActionBar non è più disponibile.
DoomGoober

13

Per tutti quelli che usano VS2015, ho riscontrato anche questo errore e risulta che non avevo aggiunto la libreria al progetto ...

Install-Package Xamarin.Android.Support.v7.AppCompat

1
Ho ottenuto questo dopo aver avviato un nuovo progetto in VS2019 e averlo creato. Fare semplicemente una "Soluzione di ricostruzione" senza dover installare nient'altro ha risolto gli errori.
Glen Little

8

Se stai usando Eclipse, copiare semplicemente la cartella android-support-v7-appcompat.jar nella cartella libs non funzionerà se stai per usare le risorse.

Seguire i passaggi da qui per " Aggiunta di librerie con risorse ".


7

Una soluzione semplice: sostituisci il contenuto di questo file (/res/values/styles.xml) con questo testo:

<resources>

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


1
"Errore durante il recupero del genitore per l'articolo: nessuna risorsa trovata che corrisponde al nome 'AppBaseTheme'."
Yousha Aleayoub,

1
Questo non è AppCompat .
IgorGanapolsky,

4
dependencies {

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

}

Questo ha funzionato per me ... in Android Studio ...


4

Nel mio caso, ho preso un androidprogetto da un computer all'altro e ho avuto questo problema. Ciò che ha funzionato per me è stata una combinazione di alcune delle risposte che ho visto:

  • Rimuovere la copia della libreria appcompat che si trovava nella cartella libs dell'area di lavoro
  • Installa SDK 21
  • Modifica le proprietà del progetto per usare quella build sdk inserisci qui la descrizione dell'immagine
  • Configurare e avviare un emulatore compatibile con sdks 21
  • Aggiorna la configurazione di esecuzione per richiedere il funzionamento del dispositivo e scegli Esegui

Il mio ha funzionato bene dopo questi passaggi.


3

Utilizzando Visual Studio 2015 (Windows7) + Xamarin si è verificato questo errore e dopo aver provato più cose (installazione dei pacchetti, download android_m2repository_r10.zip ...) è terminata la rimozione della cartella Xamarin completa all'interno

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

Successivamente, ricostruisci l'applicazione in VS e gli errori scompaiono.


Questo ha funzionato per me :) Nota: utilizzo di Visual Studio Enterprise. 2017 15.8 Anteprima 3.0
David Jones,

Ha funzionato anche per me, usando VS 2017.
Richard Lyle,

3

assicurati che ci sia una directory v7 nel tuo sdk, pensavo che avere la "Libreria di supporto Android" (in Extra) fosse sufficiente. Si scopre che mi mancava il "repository Maven locale per librerie di supporto (extra; android; m2repository)" Studio ha scoperto che in realtà e risolto le dipendenze del gradle. usando Gradle per costruire poi ha funzionato. $ 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'
}

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

la compilazione è stata sostituita dall'implementazione, non so perché.


Questa è la soluzione per me
shizhen,

2

Se si utilizza Android.mk per la compilazione, utilizzare USE_AAPT2, che collega la risorsa creata dall'AAR.

Aggiungi sotto la riga nel file Android.mk:

LOCAL_USE_AAPT2: = true


1
  1. Aggiorna il tuo SDK nel gestore e assicurati di includerlo Android support libraryin extra
  2. Vai a SDK in Esplora file (Finder su Mac) rintraccia la cartella dell'extra ( ..\sdk\extras\android\support\v7\appcompat\res\valuessu Windows). Da qualche parte c'è un themes.xmle themes_base.xml . Copia entrambi questi file.
  3. Nel tuo progetto incolla i file nella directory 'valori'

La copia di themes_base.xml in res / valori ha risolto il problema originale ma ha portato ad altri riferimenti non risolti.
FractalBob,

1

Se si utilizza Visual Studio per MAC , risolvere il problema facendo clic su Progetto> Ripristino dei pacchetti Nutget


0

In Eclipse: quando si importa una libreria di supporto come libreria di progetto seguendo le istruzioni in Aggiunta di librerie di supporto , non dimenticare di selezionare l'opzione "Copia i progetti nell'area di lavoro" !


0

Ho avuto lo stesso problema. Nessuna delle soluzioni elencate qui ha aiutato la mia situazione. A quanto pare, stavo importando la cartella principale per un progetto in Android Studio 1.5, piuttosto che la cartella del progetto stesso. Questo ha gettato Gradel in un brivido. La soluzione era invece importare la cartella del progetto.


-1

In xamarin se si incontra questo problema quando si aggiunge un nuovo SDK. La soluzione semplice è Apri il tuo file di stili e aggiungi questa riga.

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

È la soluzione migliore piuttosto che aggiungere appcompat.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.