No se puede encontrar Theme.AppCompat.Light para la nueva compatibilidad con Android ActionBar

Estoy tratando de implementar la nueva biblioteca de soporte de ActionBar que fue lanzada por Google hace un par de días. En el pasado, he implementado ActionBarSherlock con éxito sin problemas utilizando el mismo método que figura en la página de configuración de la biblioteca de soporte de Google Developer, usando la guía sobre cómo incluir los recursos (que es similar a cómo lo hizo ActionBarSherlock). Tengo el proyecto de la biblioteca cargado en mi propio proyecto como una biblioteca también.

Puedo decir que la biblioteca está cargando bien. Cuando, en lugar de extender Activity en mi MainActivity.java, lo cambié para extender ActionBarActivity (según las instrucciones de Google), no se producen errores, y se importa correctamente.

Incluso traté de omitir el archivo style.xml y agregar @style/Theme.AppCompat.Light directamente en AndroidManifest.xml para y con android:theme="@style/ThemeAppCompat.Light" con todos bashs que resultan en el mismo error.

Ahora el problema es que no puedo cambiar el tema, y ​​mucho menos construir sin arrojar un error. A continuación se muestra el error que estoy recibiendo, seguido del archivo style.xml que modifiqué para usar el nuevo tema.

Tengo una experiencia moderada trabajando con aplicaciones de Android y estoy ejecutando Eclipse con la última versión de las bibliotecas de soporte y SDK comstackndo con API 18 (Android 4.3).

Error recibido durante la comstackción

error: Error al recuperar el elemento primario para el elemento: no se encontró ningún recurso que coincida con el nombre de stack ‘@ style / Theme.AppCompat.Light’. styles.xml / ActBarTest / res / values ​​línea 3 Android AAPT Problema

style.xml

      

¿Alguna sugerencia? Esto nunca fue un problema con ActionBarSherlock. Quiero trabajar en el uso de esta nueva biblioteca de soporte. Parece que el .jar se está cargando, pero no los recursos.

Tienes que hacer lo siguiente:

  1. File->Import (android-sdk\extras\android\support\v7) . Elija “AppCompat”
  2. Project-> properties->Android. En la biblioteca de la sección “Agregar” y elija “AppCompat”
  3. ¡Eso es todo!

Nota: si está usando “android: showAsAction” en el elemento del menú, debe cambiar el prefijo android como en el ejemplo http://developer.android.com/guide/topics/ui/actionbar.html

Si, como yo, estás siguiendo el tutorial de Android en http://developer.android.com/training/basics/actionbar/setting-up.html y sigues obteniendo este error, intenta cambiar el estilo AppBaseTheme en todos los styles.xml archivos. En detalle:

  1. En el archivo res/values/styles.xml cambie la línea:

      

    a:

      
  2. En el archivo res/values-v11/styles.xml cambie la línea:

      

    a:

      
  3. En el archivo res/values-v14/styles.xml cambie la línea:

      

    a:

      

Ahora la aplicación debería funcionar bien.

Compartiré mi experiencia con este problema. Me estaba volviendo loco por esto, pero descubrí que el problema era un error con Eclipse, en lugar de mi código: En eclipse, no se puede hacer referencia a un proyecto de biblioteca de Android en otro proyecto de Android

Entonces, si tiene la Biblioteca de soporte de Android en su unidad C: y su proyecto en la unidad D: en su computadora, Eclipse no funcionará correctamente y no sabrá dónde está la Biblioteca de soporte de Android (el tic verde se convierte en cruz roja) ) Para resolver esto, debe mover ambos proyectos al mismo disco duro.

Este es un problema que puede ocurrir en Android Studio si modifica los Módulos de Estructura de Proyecto. En este caso, es posible que deba agregar las dependencias nuevamente. En un editor de texto edite el archivo ‘build.gradle’ para incluir las dependencias requeridas:

 dependencies { compile 'com.android.support:appcompat-v7:+' compile fileTree(dir: 'libs', include: ['*.jar']) } 

Esto debería actualizar su archivo ‘{your_project_name} .iml’ con componentes lib:

  

Hice lo siguiente en Eclipse con el proyecto de biblioteca de soporte de Android ( APL ) y el proyecto principal ( MP ):

  1. Aseguró que tanto APL como MP tenían la misma minSdkVersion y targetSdkVersion .

  2. Se agregó APL como una dependencia de comstackción para MP :

    1. Entrando en “Propiedades> Ruta de comstackción Java” de MP , y luego

    2. Seleccionando la pestaña “Proyectos” y agregando APL .

  3. En las propiedades de MP , en “Android”, se agregó una referencia a APL en la biblioteca.

1 y 2 obtuvieron buenas referencias de las clases de Java … sin embargo, todavía vi el error en el @style/Theme.AppCompat.Light manifest.xml para MP al intentar hacer referencia a @style/Theme.AppCompat.Light de APL . Esto solo desapareció cuando realicé el paso 3.

Es un poco tarde, pero aquí es cómo lo hago en AndroidStudio!

Haga clic derecho en la aplicación para ir a las propiedades Haga clic derecho en la aplicación para ir a las propiedades

Vaya a Dependencias y haga clic en el signo ‘+’ y elija la dependencia de la biblioteca Vaya a Dependencias y haga clic en el signo '+' y elija la dependencia de la biblioteca Elija appcompat-v7 Elija appcompat-v7

Solución IntelliJ IDEA.

1. Ejecute Android SDK Manager e instale el último SDK y soporte de Android Libarary . ¡La versión de SDK y Android Support Libarary debería ser la misma ! 23 en mi caso. Otras variantes te darán los errores.
enter image description here
2. Cambie la versión SDK de su proyecto IDEA por la última que instaló en el paso anterior. (p. ej. no puedes usar Maven).
enter image description here

3. Agregue un nuevo Módulo del recurso existente a su proyecto IDEA.
enter image description here

4. Agregue el proyecto de AppCompat. !!! ¡Debería estar bajo el último SDK también! (p. ej. diga “Sí” en cualquier parte del proceso de este paso)
enter image description here

5. Abra la configuración de su Módulo de proyecto principal y añada las siguientes 3 dependencias:

5.1. Dependencia del módulo. Elija Android-support-v7-appcompat
enter image description here

5.2. 2 pc Dependencias de la biblioteca. Agregue android-sdk \ extras \ android \ support \ v7 \ appcompat \ libs \ android-support-v4.jar y android-support-v4 \ android-support-v7-appcompat.jar
enter image description here

En total será:
enter image description here

6. ¡ Muy importante!
Agregue el tema con el prefijo @style (¡no otro!) .
enter image description here

Solución de Android Studio.

1. Ejecute Android SDK Manager e instale el último SDK y soporte de Android Libarary . ¡La versión de SDK y Android Support Libarary debería ser la misma ! 23 en mi caso. Otras variantes te darán los errores.
enter image description here

2. Agregar al lado de build.gradle

 dependencies { compile 'com.android.support:appcompat-v7:23.0.1' } 

PD: si eres nuevo en el desarrollo de Android, te recomiendo encarecidamente que te muevas a Android Studio & Gradle en este momento; obtendrás la forma más sencilla de administrar tu aplicación de Android.

Para Android Studio 1.2.2

Suelta “android” del valor del atributo parent :

  

necesita referencia $ ANDROID_SDK / extras / android / support / v7 / appcompat

Para IntelliJ IDEA o Android Studio:

Agregar esto al archivo de comstackción app.gradle

 dependencies { compile "com.android.support:appcompat-v7:21.0.+" } 

Reemplaza -v:xx.0+ , con tu objective de comstackción, si tienes 19 plataformas, entonces debe ser como:

 dependencies { compile "com.android.support:appcompat-v7:19.0.+" } 

Sigue los pasos de @rcdmk. Eliminar el soporte de Android v4.jar en SU ​​proyecto. Entra en conflicto con la nueva versión actualizada que se encuentra en appcompat.

Mi problema se resuelve mediante los siguientes pasos

  1. Archivo-> Importar (android-sdk \ extras \ android \ support \ v7 \ appcompat)
  2. Haga clic derecho en Proyecto-> propiedades-> Android. En la biblioteca de la sección “Agregar” y elija la biblioteca appcompat que se incluye en el paso 1
  3. Eliminar todos los archivos del directorio libs del proyecto
  4. agregue el siguiente archivo al directorio de libs del proyecto \extras\android\support\v13android-support-v13.jar

    Reinicie Eclipse si es necesario. Eso es. Tu problema debería desaparecer.

Tuve el mismo problema y desperdicié mis 4 a 5 horas para encontrar una solución. Mi problema resuelto con;

  1. Desde el administrador del SDK, elimine los paquetes “Biblioteca de soporte de Android” y “Repositorio de soporte de Android”.
  2. Reinstale “Android Support Library” y “Android Support Repository”
  3. Elimine “android-support-v7-appcompat” o “appcompat_v7 qué más tiene en su proyecto.
  4. Importar android-support-v7-appcompat desde “adt-bundle-windows-x86_64-20140702 \ sdk \ extras \ android \ support \ v7 \ appcompat”
  5. Seleccione su proyecto y desde el archivo elija propiedades y encuentre Java Build Path y luego desde la pestaña “Proyecto” elimine qué más hay allí y luego Agregar. y debe ver “android-support-v7-appcompat”, seleccionar y agregarlo a la pestaña Proyecto.
  6. Verifique su archivo project.properties debajo de sus archivos de Proyecto, verá esto; target = android-21 android.library.reference.1 = .. / android-support-v7-appcompat luego verifique el archivo AndroidManifest.xml si el objective es 21 o qué más eligió. También verifique la referencia de la biblioteca igual que su biblioteca que eligió antes.

Espero que encuentres tu solución.

trabajos:

    

Dado que el dialure de importación es diferente en Android Studio 1.0.1, no pude obtener la versión de Svyatoslav Lobachs para funcionar.

En su lugar, descargué “Android Support Repository” en el SDK Manager. Luego se agregó

 dependencies { ... compile "com.android.support:appcompat-v7:18.0.+" } 

a build.gradle Trabajó para mi.

http://developer.android.com/tools/support-library/setup.html tiene un error. En Propiedad-> Ruta de comstackción de Java -> ‘Proyecto’ y ‘Ordenar y Exportar’, no debería haber ninguna jar. Al eliminarlos, y al verificar ‘Librerías privadas de Android’ y ‘Dependencias de Android’, resolví mi problema.

Experimenté el mismo problema que el OP después de hacer clic derecho en mi proyecto y seleccionar Cerrar proyectos no relacionados .

En mi caso, resolví el problema volviendo a abrir el proyecto appcompat_v7 y limpiando / reconstruyendo ambos proyectos.

Me pasó cuando Eclipse (Luna) / AndroidSDK (no Android Stduio) se utilizaron con las herramientas y la biblioteca más recientes desde el 14 de enero de 2015 durante el proyecto HelloWorld. Cuando instalé esas herramientas e hice HelloWorld la primera aplicación, acepté todos los valores predeterminados. – Este es el problema en mi caso.

Primero, verifique si la biblioteca “Biblioteca de soporte de Android” está instalada o no. Si no, instálalo. No está instalado por defecto. Puede hacerlo todo en “Administrador de Android SDK” disponible en el menú.

(Android SDK Manager -> Extra -> Android Support Library)

Bendiciones, (un deudor) <> <

La solución más rápida:

Haga clic derecho en el proyecto -> Herramientas de Android -> Agregar biblioteca de soporte …

enter image description here

Cometí un error muy tonto por esto. Cuando recibía el mismo error cada vez que no podía entender qué estaba mal. luego me hizo clic en eso una vez que cerré todos los proyectos en mi espacio de trabajo y ese fue el momento desde que comenzaron todos los problemas. ASÍ, simplemente verifique si su “appcompat_v7” no está cerrado. Si es así, abra el proyecto haciendo doble clic y luego limpie y construya su proyecto nuevamente. En mi caso, los errores desaparecieron. Feliz encoding!

No estoy seguro de si la biblioteca de soporte de v13 estaba disponible cuando se publicó esta pregunta, pero en caso de que alguien todavía tenga dificultades, he visto que agregar android-support-v13.jar lo arreglará todo. Así es como lo hice:

  1. Haga clic derecho en el proyecto -> Propiedades
  2. Seleccione Java Build Path from desde la tabla de contenido del lado izquierdo
  3. Ir a la pestaña Bibliotecas
  4. Agregue el botón Jars externo y seleccione \extras\android\support\v13\android-support-v13.jar

Para Android Studio o IntelliJ, todo lo que necesita hacer es actualizar sus dependencias en gradle.build. Usé lo siguiente:

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.2' } 

No sé cuántos de ustedes se dieron cuenta de esto. La biblioteca de soporte “appcompat_v7” y su proyecto deberían estar en el mismo directorio (me refiero al directorio del espacio de trabajo). No limpie su proyecto hasta que esté libre de errores, de lo contrario tendrá dificultades con R.java

Es mejor que hagas un nuevo proyecto con cualquier nombre, luego usa appcompat_v7 para que el progtwig lo haga nuevo.

 Right Click Project-> properties->Android 

En la biblioteca de la sección Add y elegir la biblioteca appcompat.

en eclipse, haga clic derecho en su proyecto-> seleccione ruta de comstackción y luego seleccione configurar ruta de comstackción. desde la ventana, seleccione el archivo jar que desee y actualice su proyecto

La solución aceptada solía funcionar para mí una vez, pero ahora no. Tuve que recrear un hello-world del mismo tipo (!) En un nuevo espacio de trabajo, comstackrlo y luego copiar todos los directorios, incluidos .hg y .hgignore . hg diff muestra:

 - android:targetSdkVersion="19" /> + android:targetSdkVersion="21" /> Binary file libs/android-support-v4.jar has changed 

Parece que Eclipse quiere comstackr para API 21 y no puede hacer nada con API 19. Oscuro.

Si ha agregado la aplicaciónCompat Library y también ha proporcionado la referencia adecuada de appCompat desde la ubicación del SDK, intente con “invalidar cachés / reiniciar” .
Puede encontrarlo desde el menú “Archivo” en Android Studio.

En mi caso, el problema ocurrió porque quería usar un SDK que no incluye la biblioteca requerida. Cuando aumentaba el min. Nivel de SDK el problema desapareció. Por supuesto, la inclusión directa de la biblioteca también debería eliminar el error.

Olvidalo todo. Simplemente use la biblioteca de appcompat descargada usando Android Studio. Tiene todas las definiciones faltantes. No importa si lo está utilizando en Eclipse o no.

Tuve el mismo problema e incluso después de importar / agregar un jar / library como se menciona en las respuestas, no resolvió el error. Por frustración, acabo de crear un nuevo espacio de trabajo y creé un nuevo proyecto de Android e importó automáticamente appcompat_v7 y no hubo errores en la limpieza y comstackción. No tuvo que importar un solo jar / library manualmente. Solo para FYI estoy usando eclipse Mars.1 Release (4.5.1) y estaba enfrentando exactamente el mismo problema cada vez que creé un nuevo proyecto de Android.