215 votes

Aucune ressource correspondant au nom donné : attr 'Android:keyboardNavigationCluster'. lors de la mise à jour vers Support Library 26.0.0

J'ai rencontré ce problème lors de la mise à jour de la dernière version de la bibliothèque de support 26.0.0 ( https://developer.Android.com/topic/libraries/support-library/revisions.html#26-0-0 ) :

Erreur :(18, 21) Aucune ressource trouvée correspondant au nom donné : attr 'Android:keyboardNavigationCluster'.

/.../app/build/intermediates/res/merged/beta/debug/values-v26/values-v26.xml
Error:(15, 21) No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.
Error:(18, 21) No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.
Error:(15, 21) No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.
Error:(18, 21) No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.
Error:Execution failed for task ':app:processBetaDebugResources'.

com.Android.ide.common.process.ProcessException : Échec de l'exécution d'aapt

Le fichier provient de la bibliothèque de support :

<style name="Base.V26.Widget.AppCompat.Toolbar" parent="Base.V7.Widget.AppCompat.Toolbar">
    <item name="android:touchscreenBlocksFocus">true</item>
    <item name="android:keyboardNavigationCluster">true</item>
</style>

Nous utilisons les versions suivantes :

ext.COMPILE_SDK_VERSION = 26
ext.BUILD_TOOLS_VERSION = "26.0.1"

ext.MIN_SDK_VERSION = 17
ext.TARGET_SDK_VERSION = 26
ext.ANDROID_SUPPORT_LIBRARY_VERSION = "26.0.0"
ext.GOOGLE_PLAY_SERVICES_LIBRARY_VERSION = "11.0.2"

compile 'com.android.support:appcompat-v7:' + ANDROID_SUPPORT_LIBRARY_VERSION
compile 'com.android.support:design:' + ANDROID_SUPPORT_LIBRARY_VERSION
compile 'com.android.support:recyclerview-v7:' + ANDROID_SUPPORT_LIBRARY_VERSION

Des idées ?

5 votes

Cela reste un problème avec la dernière version (26.0.1) : developer.Android.com/topic/libraries/support-library/

315voto

XH6 user Points 3312

J'ai pu le résoudre en mettant à jour la version du sdk et les outils dans gradle. compileSdkVersion 26 buildToolsVersion "26.0.1"

y support library 26.0.1 https://developer.Android.com/topic/libraries/support-library/revisions.html#26-0-1

52voto

Amar Gore Points 71

Modifier Compiler la version du SDK :

compileSdkVersion 26

Version de l'outil de construction :

buildToolsVersion "26.0.1"

Version du SDK cible :

targetSdkVersion 26

Dépendances :

compile 'com.android.support:appcompat-v7:26+'
compile 'com.android.support:design:26+'
compile 'com.android.support:recyclerview-v7:26+'
compile 'com.android.support:cardview-v7:26+'

Sync Gradle.

2 votes

Obtention d'un avertissement : évitez d'utiliser le signe + dans le numéro de version.

2 votes

Cela a fonctionné pour moi. j'ai enlevé le + de tous pour me débarrasser des avertissements

2 votes

N'utilisez pas +, vous voulez obtenir des constructions reproductibles et avoir un contrôle total sur vos dépendances. Vous ne voulez pas que votre application commence à bugger après une nouvelle construction parce qu'elle a discrètement mis à jour une lib...

35voto

Erik Duisters Points 369

J'ai dû changer compileSdkVersion = 26 y buildToolsVersion = '26.0.1' dans toutes mes dépendances build.gradle fichiers

2 votes

Vous devriez utiliser une constante dans gradle.properties pour tous vos numéros de version et l'utiliser dans vos fichiers build.gradle : api "com.Android.support:appcompat-v7:$ANDROID_COMPATIBILITY_VERSION"

13voto

peteroid Points 769

Dans mon projet react-native, cette erreur est générée dans la section react-native-fbsdk . Mise à jour de la react-native-fbsdk/android/build.gradle comme suit résout le problème.

compileSdkVersion 26
buildToolsVersion "26.0.1"

7 votes

Ajouter ci-dessous à Root build.gradle a fonctionné sans avoir besoin de modifier le fichier build.gradle du module subprojects { afterEvaluate {project -> if (project.hasProperty("android")) { android { compileSdkVersion 26 buildToolsVersion '26.0.1' } } } }

9voto

Sam Points 245

J'ai rencontré exactement la même erreur et j'ai cherché sur Google ce que je faisais de mal, car le code généré par le build values-26 n'est pas le style que j'ai fourni. J'ai tout essayé, de Gradle 4.0 à Android Studio preview 3.0 en passant par Canary Channel, etc.

Je n'ai jamais trouvé la réponse en ligne. Finalement, j'ai pu revenir à Android Studio et Gradle 2.3.3 standard Dev car j'ai fini par le réparer accidentellement :).

Il s'est avéré que j'étais tellement concentré sur la mise à jour de mon projet de bibliothèque que je n'ai pas remarqué que l'erreur était causée par un sous-module inutilisé (application de démonstration) qui est imbriqué dans mon projet de bibliothèque. Une fois que j'ai mis à jour le sous-module pour qu'il corresponde aux 26 outils de construction et aux plus de 26 bibliothèques de conception et de support, le problème a disparu.

Je ne sais pas si c'est ce que vous voyez également, mais personnellement, je ne mettais à nouveau à jour que la librairie et je ne me souciais pas du module de l'application exemple, et l'erreur semblait bien être liée à 26 sdk que je n'ai touché que dans le module de la librairie et je n'ai pas pensé à vérifier l'autre. C'était donc le problème depuis le début pour moi. J'espère que cela vous aidera aussi. J'avais cette erreur dans 2 projets de bibliothèque et cela l'a corrigé dans les deux.

Bonne chance dans tous les cas et si cela ne résout pas votre problème, veuillez partager ce qui l'a fait. BTW 26.0.01 build tools and 26.1.0 design and support is where I end up to in the end, although 26.0.1 worked fine well as.

0 votes

Cela résout vraiment le problème (si vous avez plusieurs modules)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X