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


¿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 .


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
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.


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á


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

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


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>


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 ...


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.


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.


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'
}

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é.


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


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'

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


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" !


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.


-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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.