appcompat-v7: 21.0.0 ‘: no ​​se encontraron recursos que coincidan con el nombre de stack: attr’ android: actionModeShareDrawable ‘

Cuando bash utilizar la última biblioteca de soporte de appcompat-v7 en mi proyecto, aparece el siguiente error:

/Users/greg/dev/mobile/android_project/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.0/res/values-v11/values.xml Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'. Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'. Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'. Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'. 

¿Cómo puedo solucionar esto?

Si bien la respuesta de loeschg es absolutamente correcta, solo quiero dar más detalles y dar una solución para todos los IDE (Eclipse, IntellJ y Android Studio), incluso si los errores se diferencian ligeramente.


Pre requisitos

Asegúrese de haber descargado los últimos extras y el Android 5.0 SDK través del SDK-Manager.

Imagen del Administrador de SDK


Estudio Android

Abra el archivo build.gradle de su módulo de aplicación y cambie su compileSdkVersion a 21. Básicamente, no es necesario cambiar la targetSdkVersion SDK de targetSdkVersion a 21, pero se recomienda, ya que siempre debe apuntar a la versión de comstackción de Android más reciente .
Al final, tu archivo gradle se verá así:

 android { compileSdkVersion 21 // ... defaultConfig { // ... targetSdkVersion 21 } } 

Asegúrese de sincronizar su proyecto después.

Recordatorio de Android Studio Gradle Sync


Eclipse

Al usar el v7-appcompat en Eclipse, debe usarlo como un proyecto de biblioteca. No es suficiente copiar el * .jar a su carpeta /libs . Lea esto (haga clic) tutorial paso a paso en developer.android.com para saber cómo importar el proyecto correctamente.

Tan pronto como se importe el proyecto, se dará cuenta de que algunas carpetas en la carpeta /res están subrayadas en rojo debido a errores como los siguientes:

Errores en Eclipse

 error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material'. error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.*' error: Error: No resource found that matches the given name: attr 'android:actionModeShareDrawable'. 

Solución

Lo único que tienes que hacer es abrir el archivo project.properties de android-support-v7-appcompat y cambiar el destino de target=android-19 a target=android-21 .
Luego haga un Project --> Clean... para que los cambios entren en vigencia.


IntelliJ IDEA (no usa Gradle)

De forma similar a Eclipse, no es suficiente usar solo android-support-v7-appcompat.jar ; tienes que importar el appcompat como un módulo. Lea más sobre esto en este StackO-Post (click) .
( Nota: si solo está utilizando .jar obtendrá NoClassDefFoundErrors en Runtime )

Cuando intentes construir el proyecto, enfrentarás problemas en las carpetas res/values-v** . La ventana de tu mensaje dirá algo como lo siguiente:

 Error:android-apt-compiler: [appcompat] resource found that matches the given name: attr 'android:colorPrimary'. Error:(75, -1) android-apt-compiler: [appcompat] C:\[Your Path]\sdk\extras\android\support\v7\appcompat\res\values-v21\styles_base.xml:75: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionButton'. // and so on 

Solución

Haga clic derecho en el módulo appcompat -> Abrir configuración del módulo (F4) -> [Pestaña de dependencia] Seleccione Android API 21 Plataforma del menú desplegable -> Aplicar

Seleccione la Plataforma API 21

Luego solo reconstruya el proyecto (Build -> Rebuild Project) y estará listo.

Esto es probable porque no ha configurado su compileSdkVersion en 21 en su archivo build.gradle. También es probable que desee cambiar su targetSdkVersion a 21.

 android { //... compileSdkVersion 21 defaultConfig { targetSdkVersion 21 } //... } 

Para empezar, debe haber descargado las últimas actualizaciones de SDK.

Administrador de Android Studio SDK

Una vez que haya descargado todas las actualizaciones (¡no olvide actualizar también la Biblioteca / Repositorio de Soporte de Android también!) Y actualice su compileSdkVersion, vuelva a sincronizar su proyecto Gradle.

Editar: para usuarios de Eclipse o IntelliJ en general

Ver la respuesta de reVerse. ¡Él tiene una caminata muy completa!

`Siga los pasos a continuación:

funciona para mí. Para resolver este problema,

1. Derecho Haga clic en la biblioteca appcompat_v7 y seleccione Propiedades

2.Ahora, haga clic en la opción Android, establezca la ruta de comstackción del proyecto como Android 5.0 (nivel API 21) aplique los cambios.

3.Ahora vaya al archivo project.properties en la biblioteca appcompat_v7,

4. Establezca el objective del proyecto como: target = android-21

5. Ahora limpia + comstack la biblioteca appcompat_v7 y tus proyectos`

En caso de que no desee utilizar API 21 como la API objective, y por lo tanto no desea utilizar el tema material, debe usar una revisión anterior que pertenezca a la API 19>

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

Esto también ayuda a resolver su problema, solo depende de lo que quiere lograr.

He encontrado este problema con los servicios de juego: 5.0.89. Actualización a 6.1.11 problema resuelto.

En Android Studio, estaba intentando establecer compileSdkVersion y targetSdkVersion en 19 .

Mi solución fue reemplazar en la parte inferior de build.gradle , de esto:

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

A la versión anterior de la biblioteca appcompat:

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

Agregué otro proyecto a mi área de trabajo y estaba tratando de hacer referencia a una actividad desde el archivo de manifiesto, y estaba obteniendo este error. El problema es que estaba haciendo referencia a la biblioteca de forma incorrecta. Así es como arreglé el problema:

  • Haga clic derecho en el proyecto
  • Seleccionar propiedades
  • Haga clic en Android en el menú de la izquierda
  • Haga clic en Agregar
  • Seleccione un proyecto de biblioteca

El archivo jar entró en la carpeta Dependencias de Android y se corrigió este error.

La actualización al último plugin de gradle resuelve mi problema:

 classpath 'com.android.tools.build:gradle:0.13.+' 

Después de crear un segundo proyecto en el área de trabajo en Eclipse, tuve este problema. Creo que es porque lo creé con una versión de SDK diferente y esto sobreescribió la biblioteca android-support-v7-appcompat.

Traté de limpiar todo, pero fue en vano. En definitiva, la sugerencia anterior de editar project.properties y cambiar target = android-21 y configurar mi proyecto en Android 5.0, lo solucionó.

Lo que recomiendo es: (Esto me funciona después de muchos días con errores)

-Asegúrese de haber descargado:

 - the Lastest SDK Platform from the latest Android version - Android Suppor Librarie and Repository from EXTRAS 

-Recargar el ADT

-Haga una copia de seguridad de su proyecto.

-Debes tener el ADT, el espacio de trabajo y el proyecto que importaremos en el mismo disco (por ejemplo, C: /)

  1. Ahora borre la aplicación compatible y su proyecto.

  2. En eclipse: Archivo> Importar> Proyecto existente de Android> Siguiente> Buscar (La carpeta donde tienes tu ADT) / sdk / extras / android / v7 / appcompat> Importar> Finalizar

  3. Ahora en el eclipse Package Explorer: android-support-v7-appcompat / libs / Make en los dos JARS: clic derecho> Build Path> Add to Build Path

  4. Haga clic derecho en libs / folder> Buil Path> Configure Build Path y verifique estos dos JARS> OK

  5. En la barra superior del eclipse> Proyecto> Limpiar

  6. Importe su proyecto> Archivo> Importar> Examine su proyecto> Finalizar

  7. Ahora, haga clic derecho en el archivo de proyecto y android-support-v7-appcompat> Propiedades> Android> Y seleccione la última API que aparece> Aceptar

  8. Haga clic derecho en el archivo de proyecto> Propiedades> Android> Agregar> android-support-v7-appcompat

  9. En la barra superior del eclipse> Proyecto> Limpiar

Obtuve el mismo error cuando cambié la versión de Compile SDK de API: 21 a API: 16. El problema era, la versión de appcompat . Si necesita utilizar una versión anterior de la API de Android, también debe cambiar esta versión de appcompat. En mi caso ( para API: 16 ), tuve que usar appcompat-v7: 19. + .

Así que reemplazo dependencias en build.gradle de la siguiente manera,

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

Y asegúrate de tener versiones anteriores de las versiones de appcompat en tu SDK enter image description here

Estuve al día con todo y todavía tengo este error, no estoy seguro de por qué, pero creo que la imagen se corrompió de una manera extraña y después de reemplazar la imagen me libré del error. Podría valer la pena intentar con una imagen diferente 🙂

Asegúrate de limpiar tu proyecto en el estudio Android (o eclipse),

Debería resolver tus problemas

Mi problema era que tenía otras bibliotecas a las que hacía referencia mi proyecto y esas bibliotecas tenían otra versión de appcompat a la que se hacía referencia. Esto es lo que hice para resolver el problema:

(Debes hacer una copia de seguridad de tu proyecto antes de hacer esto)

1) Eliminé todas las carpetas de diseño de appcompat (por ejemplo: / res / layout-v11).

2) Resolvió los problemas que surgieron de eso, generalmente un error en menu.xml

3) Vuelva al proyecto principal y agregue la biblioteca appcompat, limpio, ¡y todo funciona!