No se ha encontrado ningún recurso - Theme.AppCompat.Light.DarkActionBar

145

Utilicé ActionBar Style Generator, y ahora intento usarlo en mi aplicación, pero obtengo:

error: Error al recuperar el elemento primario para el elemento: no se encontró ningún recurso que coincida con el nombre dado '@ style / Theme.AppCompat.Light.DarkActionBar'.

Estoy usando android-support-v7-appcompat.jar lib dentro de la carpeta libs

mi objetivo es hacer que mi aplicación sea compatible con 2.3 o superior

Dom
fuente
¿agregaste el jar a la carpeta libs?
Raghunandan
sí android-support-v7-appcompat.jar
Dom

Respuestas:

96

AppCompatEs un proyecto de biblioteca. Debe hacer referencia al proyecto de biblioteca en su proyecto de Android.

Consulte el tema Agregar bibliotecas con recursos .

Raghunandan
fuente
1
ya se ha colocado android-support-v7-appcompat.jar en la carpeta libs
Dom
44
@AbrahimNeil, esa no es la forma correcta. es un proyecto de biblioteca y, por lo tanto, debe ser referenciado al igual que los servicios de Google Play
Raghunandan
cuando estoy importando android-support-v7-appcompat.jar obteniendo No se puede resolver el objetivo de android-16, ¿es necesario?
Dom
1
vamos a continuar esta discusión en el chat
Raghunandan
1
agregando implementation 'com.android.support:appcompat-v7:28.0.0', bajo dependencias resolvió mi problema.
Hilal
35

Si está utilizando Eclipse , agregue el reference libraryen su proyecto como los siguientes pasos:

  1. Haga clic derecho en su proyecto en la Project ExplorerVista.
  2. Haga clic Properties.
  3. Click Androiden la Propertiesventana.
  4. En el Librarygrupo, haga clic enAdd...
    • Ver la imagen de abajo.
  5. Selecciona la biblioteca. Haga clic OK .
  6. Vuelva a hacer clic en el OKbotón en la ventana Propiedades.

El botón "Agregar" en la ventana Propiedades del proyecto, sección Android, grupo Biblioteca.

Maryland
fuente
44
¿cómo sabes que op está usando eclipse no android studio? el complemento publicado es para eclipse.
Raghunandan
@Raghunandan lo siento, olvide mencionarlo
MD
1
Funciona perfectamente en Eclipse. ¡Gracias!
Scott Biggs
33

Si está utilizando Android Studio , simplemente agregue la dependencia

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

a app/build.gradle. Y eso funcionará

Nueva Jersey
fuente
2
Um ... no funciona ... todavía no resolverá android: Theme.AppCompat. * En mi archivo styles.xml.
Michael
Acabo de reemplazar la implementación 'com.android.support:appcompat-v7:28.0.0' por la implementación 'com.android.support:appcompat-v7:25.0.1' y ahora funciona ... pero ¿por qué?
CGR
1
@CGR Creo que Android cambió los temas para 28+ y Light.DarkActionBar ya no está disponible.
DoomGoober
13

Para cualquiera que esté usando VS2015, también recibí este error, y resulta que no había agregado la biblioteca al proyecto ...

Install-Package Xamarin.Android.Support.v7.AppCompat
James Joyce
fuente
1
Obtuve esto después de comenzar un nuevo proyecto en VS2019 y construirlo. Simplemente hacer una "Solución de reconstrucción" sin tener que instalar nada más resolvió los errores.
Glen Little, el
8

Si está utilizando Eclipse, simplemente copiar android-support-v7-appcompat.jar a la carpeta libs no funcionará si va a utilizar recursos.

Siga los pasos desde aquí para " Agregar bibliotecas con recursos ".

Prakash
fuente
7

Una solución simple: reemplace el contenido de este archivo (/res/values/styles.xml) por este es texto:

<resources>

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

Wladimir Koroy
fuente
1
"Error al recuperar el elemento primario para el elemento: no se encontró ningún recurso que coincida con el nombre" AppBaseTheme "."
Yousha Aleayoub
1
Esto no es AppCompat .
IgorGanapolsky
4
dependencies {

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

}

Esto funcionó para mí ... en Android Studio ...

Sreenu Yatam
fuente
4

En mi caso, tomé un androidproyecto de una computadora a otra y tuve este problema. Lo que funcionó para mí fue una combinación de algunas de las respuestas que he visto:

  • Elimine la copia de la biblioteca appcompat que estaba en la carpeta libs del espacio de trabajo.
  • Instalar SDK 21
  • Cambie las propiedades del proyecto para usar esa compilación sdk ingrese la descripción de la imagen aquí
  • Configure e inicie un emulador compatible con sdks 21
  • Actualice la Configuración de ejecución para solicitar que se ejecute el dispositivo y seleccione Ejecutar

La mía funcionó bien después de estos pasos.

JanB
fuente
3

El uso de Visual Studio 2015 (Windows7) + Xamarin tuvo este error y después de intentar varias cosas (instalar paquetes, descargar android_m2repository_r10.zip ...) terminó de eliminar la carpeta completa de Xamarin dentro

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

Después de eso, reconstruya la aplicación en VS y los errores desaparecieron.

Riga
fuente
Esto funcionó para mí :) Nota: Uso de Visual Studio Enterprise. 2017 15.8 Preview 3.0
David Jones
También funcionó para mí, usando VS 2017.
Richard Lyle
3

asegúrese de que haya un directorio v7 en su sdk, pensé que tener la 'Biblioteca de soporte de Android' (en Extras) era suficiente. Resulta que me faltaba el 'Repositorio local de Maven para bibliotecas de soporte (extras; android; m2repository)' Studio descubrió eso y solucionó las dependencias de gradle. usando gradle para construir y luego funcionó. $ 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
fuente
3
dependencies {
    implementation 'com.android.support:appcompat-v7:28.0.0'
}

La compilación ha sido reemplazada por la implementación, no sé por qué.

Paul McCarthy
fuente
Esta es la solución para mí.
shizhen
2

Si está utilizando Android.mk para compilar, use USE_AAPT2, que enlaza en el recurso construido desde AAR.

Agregue la siguiente línea en el archivo Android.mk:

LOCAL_USE_AAPT2: = verdadero

Prasanth.NVS
fuente
1
  1. Actualice su SDK en el administrador y asegúrese de incluir Android support library en extra
  2. Vaya al SDK en el explorador de archivos (Finder en mac) rastree la carpeta adicional ( ..\sdk\extras\android\support\v7\appcompat\res\valuesen Windows). En algún lugar hay un themes.xmly themes_base.xml . Copie ambos archivos.
  3. En su proyecto, pegue los archivos en el directorio 'valores'
Alex Jolig
fuente
Copiar themes_base.xml en res / values ​​resolvió el problema original pero resultó en otras referencias no resueltas.
FractalBob
1

Si está utilizando Visual Studio para MAC , solucione el problema haciendo clic en Proyecto> Restaurar paquetes de Nutget

JotaPardo
fuente
0

En Eclipse: Al importar una biblioteca de soporte como una biblioteca de proyecto siguiendo las instrucciones en Agregar bibliotecas de soporte , ¡no olvide marcar la opción "Copiar proyectos en el espacio de trabajo" !

villamejia
fuente
0

Yo tuve el mísmo problema. Ninguna de las soluciones enumeradas aquí ayudó a mi situación. Como resultado, estaba importando la carpeta principal para un proyecto en Android Studio 1.5, en lugar de la carpeta del proyecto en sí. Esto hizo que Gradel se pusiera nervioso. La solución fue importar la carpeta del proyecto en su lugar.

BishopZ
fuente
-1

En xamarin si enfrenta este problema cuando agrega un nuevo SDK. La solución simple es abrir su archivo de estilos y agregar esta línea.

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

Es una mejor solución en lugar de agregar appcompat.

Nawin
fuente