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/

2voto

Sanjay Hadiya Points 373

lorsque vous essayez de changer la version 26 de targetSDKVersion en 25, ce moment est survenu J'ai trouvé la solution "No resource found that matches the given name : attr 'Android:keyboardNavigationCluster'" lors de la mise à jour vers Support Library 26.0.0.

Changez juste ce code de votre Build.gradle.

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '26.0.1'
            }
        }
    }
}

à

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '25.2.0'
            }
        }
    }
}

2voto

Tuan Nguyen Points 292

J'ai eu ce problème lors de la compilation de react-native-fbsdk.

J'ai résolu ce problème en changeant build.gradle de react-native-fbsdk

de

compile('com.facebook.android:facebook-android-sdk:4.+')

à

compile('com.facebook.android:facebook-android-sdk:4.28.0')

1voto

Ce problème a été causé par une des bibliothèques pour moi qui avait besoin de la version 26 pour la compilation.

Si vous fixez la valeur de targetSdkVersion à 26, d'autres problèmes se poseront et vous devrez modifier votre application pour l'adapter à la plateforme Oreo. Ce n'est pas la bonne solution pour tous.

Il suffit de faire le compileSdkVersion to 26 y buildToolsVersion to 26.0.2 a fonctionné pour moi.

Il faut également mettre à jour toutes ses pour utiliser la version 26.1.0 ou ultérieure.

1voto

Artist404 Points 61

Mettez-les à jour dans gradle

compileSdkVersion 27 buildToolsVersion '27.0.1' (version des outils)

1voto

Palak Jain Points 383

J'ai résolu ce problème en faisant quelques changements dans le fichier build.gradle

Changements dans Racine build.gradle sont les suivants :

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

Les changements dans build.gradle sont les suivants :

compileSdkVersion 26 
buildToolsVersion "26.0.1"

y

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

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