Question Erreur lors de la récupération du parent pour l'élément: Aucune ressource trouvée correspondant au nom donné après la mise à niveau vers AppCompat v23


J'ai toujours programmé Android avec Eclipse et j'ai décidé de commencer à migrer vers Android Studio. J'ai décidé d'utiliser le même SDK que j'avais déjà pour Eclipse, alors:

  • Commencé un nouveau projet
  • Définir le SDK 4.0 minimum (Niveau d'API 14)
  • Choisissez l'option Activité vide
  • Noms par défaut utilisés pour le nom de l'activité et le nom de la mise en page
  • Hit Finition

Après quelques secondes, Gradle finit la construction, et il me jette deux erreurs avec les messages suivants dans le fichier Teste4 \ app \ build \ intermediates / éclaté-aar \ com.android.support \ appcompat-v7 \ 23.0.0 \ res \ valeurs -v23 \ values-v23.xml:

Erreur: (2) Erreur lors de la récupération du parent pour l'élément: Aucune ressource trouvée correspondant au nom donné 'android: TextAppearance.Material.Widget.Button.Inverse'.

  Erreur: (2) Erreur lors de la récupération du parent pour l'élément: Aucune ressource trouvée correspondant au nom donné 'android: Widget.Material.Button.Colored'.

En dessous de Fichier -> Structure du projet -> Modules: app (colonne de gauche) -> onglet Propriétés, J'ai les versions suivantes configurées:

  • "Compiler la version Sdk": Android 5.1 (Niveau API 22)
  • "Version des outils de construction": 23.0.2

Que dois-je faire pour résoudre ce problème?

J'ai déjà essayé ce qui a été suggéré dans la question Stack Overflow appcompat-v7: 21.0.0 ': Aucune ressource trouvée correspondant au prénom: attr' android: actionModeShareDrawable ', mais ça n'a pas marché.


720
2017-08-18 14:39


origine


Réponses:


Votre version de SDK de compilation doit correspondre à la version majeure de la bibliothèque de support.

Puisque vous utilisez la version 23 de la bibliothèque de support, vous devez compiler avec la version 23 du SDK Android.

Vous pouvez également continuer à compiler avec la version 22 du SDK Android en basculant vers la dernière version de la bibliothèque de support v22.


1110
2017-08-18 14:47



Cela se produit parce que, après les mises à jour, Android Studio utilise API version 23 par défaut.

Ce qui suit a fonctionné pour moi:

presse Ctrl + Décalage + Alt + S pour accéder à la page de la structure du projet. Accédez à l'onglet "Propriétés" et modifiez 23.0.0 à 22.0.1 (ou équivalent à ce que vous utilisiez précédemment) dans la zone d'outil de construction et reconstruisez votre projet.

Si cela ne fonctionne pas, allez à gradle: app et alors

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

modifier v7: 23.0.0 à v7: 22.2.1 comme indiqué ci-dessus et synchroniser gradle. Cela va certainement fonctionner.


135
2017-08-27 02:45



Lorsque vous mettez à jour votre Android Studio, il utilise par défaut l'API 23, ce qui est la raison principale de son apparition. Alors,

Dans un premier temps, vérifiez votre version de AppCompat dans build.gradle (Module: app) C'est,

Enter image description here

Si après avoir changé en 23 il y a une erreur, il suffit de télécharger

Compile Sdk Version to API 23, and Build Tools Version to 23.0.0

à partir du Gestionnaire de SDK. Si déjà téléchargé alors:

1. Go to SDK Manager and
2. Under Project Structure, change *Compile SDK Version* to API 23, and *Build Tools Version* to 23.0.0

Cliquez sur le bouton SDK Manager et ouvrez la boîte de dialogue.

Enter image description here

Cliquez sur SDK Platform et vérifiez si Android 6.0 est téléchargé ou non.

sinon, téléchargez-le d'abord. Après avoir terminé le téléchargement, cliquez sur Appliquer.

Enter image description here

Vous devez maintenant appliquer les modifications à votre projet à partir du paramètre. Puis appuyez Ctrl + Alt + Décalage + S pour ouvrir le paramètre

  1. Cliquez sur l'application de la liste.
  2. Cliquez sur les propriétés
  3. Change ton Compiler la version SDK à API 23
  4. Change ton Version des outils de construction à 23.0.0

Enter image description here

N'oubliez pas de reconstruire votre projet.

Alors votre erreur sera partie.


112
2017-09-03 06:49



Si vous avez essayé de changer la cible en une version précédente de GooglePlayServices ou AppCompatv7 et que cela ne fonctionne pas, vérifiez si vous avez une dépendance de bibliothèques de projets, ce projet visera la dernière version de l'une de ces bibliothèques. Cela m'est arrivé avec le projet Google Maps Utils Library:

remplacer:

compile 'com.google.android.gms:play-services:+'

à

compile 'com.google.android.gms:play-services:8.3.0'

Ensuite, vous pouvez continuer l'API de ciblage total 22

S'il ne compile toujours pas, il est parfois utile de définir l'API compileSdkVersion sur 23 et la propriété targetSdkVersion sur 22.


71
2017-12-18 09:10



Je suis d'accord avec la réponse précédente. Votre version de SDK de compilation doit correspondre à la bibliothèque de support. Voici ce que j'ai fait.

  1. Vous pouvez accéder à SDK Manager et sous SDK Platform, installer l'Android 5.X avec le niveau 23 de l'API.
  2. Sous la structure de projet, modifiez compiler la version SDK à API 23 et la version Build Tools à 23.0.0

Ensuite, il devrait construire sans problème.


36
2017-08-24 15:34



Vous devez définir compileSdkVersion sur 23.

Depuis API 23 Android a supprimé les paquets Apache Http obsolètes, donc si vous les utilisez pour les demandes du serveur, vous devrez ajouter useLibrary 'org.apache.http.legacy' à build.gradle comme indiqué dans ce lien:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"
    ...

    //only if you use Apache packages
    useLibrary 'org.apache.http.legacy'
}

23
2017-10-18 05:26



Ce problème est soulevé parce que maintenant la version de SDK de compilation doit correspondre à la version majeure de la bibliothèque de support Android.

Dans mon cas, j'ai le Android Support Library la version 23, donc je devais compiler contre le Android SDK version 23, et j'ai dû changer cela dans mon build.gradle fichier:

enter image description here

Eh bien, certains d'entre vous devront installer le SDK, Android 6.0 (API 23)

enter image description here

et n'oublie pas Projet de synchronisation avec des fichiers Gradle


16
2017-10-08 23:45