Lorsque j'essaie d'utiliser la dernière bibliothèque de support appcompat-v7 dans mon projet, j'obtiens l'erreur suivante:
/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'.
Comment puis-je réparer ça?
Réponses:
Bien que la réponse de loeschg soit absolument correcte, je veux juste en parler et donner une solution pour tous les IDE (Eclipse, IntellJ et Android Studio) même si les erreurs se différencient légèrement.
Pré-requis
Assurez-vous d'avoir téléchargé la dernière version
extras
ainsi que leAndroid 5.0 SDK
via le SDK-Manager.Android Studio
Ouvrez le
build.gradle
fichier de votre module d'application et changez-lecompileSdkVersion
en 21. Il n'est fondamentalement pas nécessaire de changer latargetSdkVersion
version du SDK en 21, mais il est recommandé car vous devez toujours cibler la dernière version de build Android .À la fin, votre fichier gradle ressemblera à ceci:
Assurez-vous de synchroniser votre projet par la suite.
Éclipse
Lors de l'utilisation de
v7-appcompat
dans Eclipse, vous devez l'utiliser comme projet de bibliothèque. Il ne suffit pas de simplement copier le * .jar dans votre/libs
dossier. Veuillez lire ce tutoriel étape par étape ( developer) sur developer.android.com afin de savoir comment importer correctement le projet.Dès que le projet est importé, vous vous rendrez compte que certains dossiers du
/res
dossier sont soulignés en rouge en raison d'erreurs telles que les suivantes:Solution
La seule chose que vous avez à faire est d'ouvrir le
project.properties
fichier deandroid-support-v7-appcompat
et de changer la cible detarget=android-19
àtarget=android-21
.Ensuite, faites juste un
Project --> Clean...
pour que les changements prennent effet.IntelliJ IDEA (n'utilisant pas Gradle)
Similaire à Eclipse, il ne suffit pas d'utiliser uniquement le
android-support-v7-appcompat.jar
; vous devez importer le enappcompat
tant que module. En savoir plus à ce sujet sur ce StackO-Post (cliquez) .( Remarque: Si vous utilisez uniquement le,
.jar
vous obtiendrezNoClassDefFoundErrors
sur Runtime )Lorsque vous essayez de créer le projet, vous rencontrerez des problèmes dans les
res/values-v**
dossiers. Votre fenêtre de message dira quelque chose comme ceci:Solution
Cliquez avec le bouton droit sur le
appcompat
module -> Ouvrir les paramètres du module (F4) -> [Onglet Dépendance] Sélectionnez Android API 21 Platform dans la liste déroulante -> AppliquerEnsuite, reconstruisez simplement le projet (Build -> Rebuild Project) et vous êtes prêt à partir.
la source
Cela est probablement dû au fait que vous n'avez pas défini
compileSdkVersion
21 sur votre fichier build.gradle. Vous voudrez probablement aussi changer votretargetSdkVersion
à 21.Cela nécessite que vous ayez téléchargé les dernières mises à jour du SDK pour commencer.
Une fois que vous avez téléchargé toutes les mises à jour (n'oubliez pas de mettre également à jour la bibliothèque / le référentiel de support Android!) Et mis à jour votre compileSdkVersion, resynchronisez votre projet Gradle.
Edit: pour Eclipse ou les utilisateurs généraux d'IntelliJ
Voir la réponse de reVerse. Il a une promenade très approfondie!
la source
`Suivez les étapes ci-dessous:
son travail pour moi. Pour résoudre ce problème,
Cliquez avec le bouton droit sur la bibliothèque appcompat_v7 et sélectionnez Propriétés
2.Maintenant, cliquez sur l'option Android, définissez le chemin de génération du projet comme Android 5.0 (API niveau 21) Appliquez les modifications.
3.Allez maintenant dans le fichier project.properties sous la bibliothèque appcompat_v7,
4.Définissez la cible du projet comme suit: target = android-21
5.Now Clean + Build bibliothèque appcompat_v7 et vos projets`
la source
Dans le cas où vous ne souhaitez pas utiliser l'API 21 comme API cible et que vous ne souhaitez donc pas utiliser le thème de matériau, vous devez utiliser une révision plus ancienne appartenant à l'API 19>
Cela aide également à résoudre votre problème, cela ne dépend que de ce que vous voulez réaliser.
la source
J'ai rencontré ce problème avec play-services: 5.0.89. La mise à niveau vers 6.1.11 a résolu le problème.
la source
Dans Android Studio, j'essayais de définir le
compileSdkVersion
ettargetSdkVersion
le19
.Ma solution a été de remplacer au bas de
build.gradle
, à partir de ceci:Vers l'ancienne version de la bibliothèque appcompat:
la source
J'avais ajouté un autre projet à mon espace de travail et j'essayais d'en référencer une activité dans le fichier manifeste, et j'obtenais cette erreur. Le problème est que je référençais la bibliothèque de manière incorrecte. Voici comment j'ai résolu le problème:
Le pot est entré dans le dossier Android Dependencies et cette erreur a été corrigée.
la source
Assurez-vous de nettoyer votre projet dans Android Studio (ou Eclipse),
Cela devrait résoudre vos problèmes
la source
La mise à niveau vers le dernier plugin gradle résout mon problème:
la source
Après avoir créé un deuxième projet dans l'espace de travail dans Eclipse, j'ai eu ce problème. Je pense que c'est parce que je l'ai créé avec une version différente du SDK et que cela a écrasé la bibliothèque android-support-v7-appcompat.
J'ai essayé de tout nettoyer mais en vain. En fin de compte, la suggestion ci-dessus pour modifier project.properties et changer target = android-21 et définir mon projet sur Android 5.0, l'a corrigé.
la source
Ce que je recommande est: (Cela fonctionne pour moi après plusieurs jours avec des erreurs)
-Assurez-vous que vous avez téléchargé:
-Recharger l'ADT
-Faites une copie de sécurité de votre projet.
-Vous devez avoir l'ADT, l'espace de travail et le projet que nous allons importer sur le même disque (par exemple C: /)
Maintenant, supprimez l'application compatible et votre projet.
Dans eclipse: Fichier> Importer> Projet existant Android> Suivant> Parcourir (le dossier où vous avez votre ADT) / sdk / extras / android / v7 / appcompat> Importer> Terminer
Maintenant dans l'explorateur de packages eclipse: android-support-v7-appcompat / libs / Make sur les deux JARS: clic droit> Chemin de construction> Ajouter au chemin de construction
Faites un clic droit sur les bibliothèques / dossiers> Buil Path> Configure Build Path et vérifiez ces deux JARS> OK
Sur la barre d'éclipse supérieure> Projet> Nettoyer
Importez votre projet> Fichier> Importer> Parcourez votre projet> Terminer
Maintenant, faites un clic droit sur le fichier de projet et android-support-v7-appcompat> Propriétés> Android> Et sélectionnez la dernière API qui apparaît> OK
Faites un clic droit sur le fichier de projet> Propriétés> Android> Ajouter> android-support-v7-appcompat
Sur la barre d'éclipse supérieure> Projet> Nettoyer
la source
J'ai eu la même erreur lorsque j'ai changé la version Compile SDK d'API: 21 en API: 16. Le problème était la version compatible avec app . Si vous devez utiliser une ancienne version d'API Android, vous devez également modifier cette version compatible avec l'application. Dans mon cas ( pour API: 16 ), j'ai dû utiliser appcompat-v7: 19. + .
Je remplace donc les dépendances dans build.gradle comme suit,
Et assurez-vous que vous disposez d'anciennes versions des versions compatibles avec les applications sur votre SDK
la source
J'étais à jour avec tout et j'ai toujours eu cette erreur, je ne sais pas pourquoi mais je pense que l'image a été corrompue d'une manière étrange et après avoir remplacé l'image, je me suis débarrassée de l'erreur. Cela pourrait valoir la peine d'essayer avec une image différente :)
la source
Mon problème était que j'avais d'autres bibliothèques référencées par mon projet et ces bibliothèques avaient une autre version d'Appcompat référencée. Voici ce que j'ai fait pour résoudre le problème:
(Vous devez sauvegarder votre projet avant de le faire)
1) J'ai supprimé tous les dossiers de mise en page compatibles avec l'application (ex: / res / layout-v11).
2) Résolu les problèmes qui en découlaient, généralement une erreur dans menu.xml
3) Revenez au projet principal et ajoutez la bibliothèque compatible avec l'application, nettoyez et tout fonctionne!
la source