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/

8voto

Junaid Aziz Points 194

J'avais exactement la même erreur et j'ai réalisé que ma compileSdkVersion a été fixé à 25 et mon buildToolsVersion a été fixé à "26.0.1" .

Donc j'ai juste changé le compileSdkVersion à 26 et synchronisé le Gradle. Cela a réglé le problème pour moi.

EDIT : mon targetSDKVersion a également été fixé comme 26

8voto

suther Points 597

J'ai eu une erreur similaire pour react-native-youtube & react-native-orientation.

J'ai compris que le build.gradle de ces projets utilise compileSdkVersion 23 mais la caractéristique : Android:keyboardNavigationCluster a été ajoutée depuis api 26 (Android 8).

Alors comment réparer ?

Une façon de résoudre ce problème facilement est de modifier votre /Android/build.gradle ( ! !! PAS /Android/app/build.gradle) et d'ajouter ces codes au bas du fichier.

Ceci vous permet de forcer le SDK et la version de BuildTool que vos submodules utilisent :

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 27
                buildToolsVersion "27.0.2"
            }
        }
    }
}

7voto

Revansiddh Points 1507

J'ai aussi été confronté à ce problème, il suffit de faire 2 changements :

Nom du fichier : Android/build.gradle mentionnez ce code ci-dessous

subprojects {
   afterEvaluate { 
     project -> if (project.hasProperty("android")) { 
       android { 
        compileSdkVersion 26 buildToolsVersion '26.0.2' 
       } 
      }
    } 
}

Nom du fichier : Android/app/build.gradle changez votre version compliesdk et buildToolVersion comme ceci :

compileSdkVersion 26 buildToolsVersion "26.0.2"

et en

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

7voto

Aweda Points 149

J'ai eu le même problème avec mon projet Ionic 2, tout ce que j'ai fait pour résoudre les problèmes a été de

  • Ouvrez le fichier "ionic_project_folder/platforms/Android/project.properties".
  • Changement target=Android-25 à target=Android-26
  • Exécuter ionic build --release android

J'espère que cela aidera quelqu'un !

6voto

Pablo Rendón Points 61
//Adding this to the root build.gradle solved my problem, thanks @Yalamber
subprojects {
        afterEvaluate { project ->
            if (project.hasProperty("android")) {
                android {
                    compileSdkVersion 26
                    buildToolsVersion '26.0.2'
                }
            }
        }
    }

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