代码之家  ›  专栏  ›  技术社区  ›  Alécio Carvalho Kingfisher Phuoc

未找到与给定名称匹配的资源:attr“android:keyboardNavigationCluster”。更新到支持库26.0.0时

  •  215
  • Alécio Carvalho Kingfisher Phuoc  · 技术社区  · 7 年前

    我在更新到最新的支持库版本26.0.0时遇到了这个问题( https://developer.android.com/topic/libraries/support-library/revisions.html#26-0-0 ):

    “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:无法执行aapt

    该文件来自支持库:

    <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>
    

    我们正在使用以下版本:

    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
    

    有什么想法吗?

    26 回复  |  直到 7 年前
        1
  •  315
  •   Alécio Carvalho Kingfisher Phuoc    7 年前

    我可以通过在gradle中更新sdk版本和工具来解决这个问题 compileSdkVersion 26 buildToolsVersion "26.0.1"

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

        2
  •  52
  •   Vijay S KernelPanik    6 年前

    编译SDK版本:

    compileSdkVersion 26
    

    生成工具版本:

    buildToolsVersion "26.0.1"
    

    targetSdkVersion 26
    

    依赖项:

    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+'
    

        3
  •  35
  •   Komal12 Sujith    7 年前

    我必须改变 compileSdkVersion = 26 buildToolsVersion = '26.0.1' 在我所有的依赖中 build.gradle 文件夹

        4
  •  13
  •   peteroid    7 年前

    在我的react原生项目中,此错误是在 react-native-fbsdk .更新 react-native-fbsdk/android/build.gradle 如下修复了该问题。

    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    
        5
  •  9
  •   Sam    6 年前

    我遇到了完全相同的错误,在谷歌上到处搜索,试图找到我做错了什么,因为这是生成的构建值-26代码,而不是我提供的样式。我尝试了从Gradle 4.0到Android Studio preview 3.0再到金丝雀频道的一切。

    我从未在网上找到答案。最后,我可以回到标准的开发Android Studio和2.3.3 Gradle,因为我意外地修复了它:)。

    不确定这是否也是你看到的,但就我个人而言,我只是更新lib以再次发布,所以不关心示例应用程序模块,错误似乎与26 sdk有关,我只在lib模块中接触了26 sdk,所以没有考虑检查另一个。这一直是我的问题。希望这也能解决你的问题。我在两个库项目中都遇到了这个错误,它在两个项目中都修复了这个错误。

        6
  •  8
  •   Junaid Aziz    7 年前

    我犯了这个错误,我意识到 compileSdkVersion 设置为 25 还有我的 buildToolsVersion 设置为 "26.0.1" .

    所以我只是改变了 编译SDK版本 26 并同步了渐变。它为我解决了这个问题。

    targetSDKVersion

        7
  •  8
  •   suther    6 年前

    我在react native youtube上也遇到过类似的错误;反应本机方向。

    我发现,这是一个构建。这些项目使用的梯度 compileSdkVersion 23 api 26

    一种简单的解决方法是编辑您的/android/build。gradle(!!!NOT/android/app/build.gradle)并将这些代码添加到文件底部。

    这允许您强制子模块使用SDK和构建工具版本:

    subprojects {
        afterEvaluate {project ->
            if (project.hasProperty("android")) {
                android {
                    compileSdkVersion 27
                    buildToolsVersion "27.0.2"
                }
            }
        }
    }
    
        8
  •  7
  •   Revansiddh    7 年前

    我也遇到了这个问题,你只需要做两个改变:

    文件名: android/build.gradle

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

    文件名: android/app/build.gradle

    compileSdkVersion 26 buildToolsVersion "26.0.2"
    

    并且在

    dependencies {
        compile 'com.android.support:appcompat-v7:26.0.2'
    }
    
        9
  •  7
  •   Vijay S KernelPanik    6 年前

    • 打开“ionic_project_folder/platforms/android/project.properties”
    • 改变 目标=android-25 目标=android-26
    • ionic build --release android

    希望这对别人有帮助!

        10
  •  6
  •   Pablo Rendón    7 年前
    //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'
                    }
                }
            }
        }
    
        11
  •  4
  •   Karl Taylor Sobol Roman    7 年前

    将android studio更新到3.0后,如果出现此错误,请更新gradle属性,以下是解决我问题的设置:

    compileSdkVersion 26
    
    targetSdkVersion 26
    
    buildToolsVersion '26.0.2'
    
        12
  •  3
  •   Vijay S KernelPanik    6 年前

    我更新了我的项目 app/build.gradle

    compileSDkVersion 26
    buildToolsVersion '26.0.1'
    

    然而,问题实际上在于 react-native-fbsdk node_modules/react-native-fbsdk/android/build.gradle .

        13
  •  3
  •   Vijay S KernelPanik    6 年前


    右键点击该项目(因为我有一个Cordova项目,所以我有CordovaLib和android:在我的案例中我选择了android),

    1. 在弹出的项目结构模式中,在侧面板的模块部分选择项目(在我的例子中也是android)
    2. 单击右上角的绿色加号按钮
    3. 从下拉列表中选择app-compat-v7
    4. 清理项目并重建
        14
  •  2
  •   dskow    6 年前

    15.5.3 nuGet的新项目默认值 Xamarin.Android.* 25.4.0.2

    • 安卓 7.1
      • Android SDK平台 25
      • Google API Intel x86 Atom系统映像

    Xamarin.Android* 26.1.0.1 然后,您需要在Android SDK中安装以下软件:

    • 8.0 -奥利奥
      • Android SDK平台 26
      • Google API Intel x86 Atom系统映像
        15
  •  2
  •   Vijay S KernelPanik    6 年前

    1) 右键单击项目名称(在我的例子中是android),选择“打开模块设置”

    2) 选择模块(android和CordovaLib)

    3) 单击顶部的属性

    6) 源兼容性(1.6)

    7) 目标兼容性(1.6)

    下面的链接显示了我所遵循的步骤的设置

    https://app.box.com/s/o11xc8dy0c2c7elsaoppa0kwe1d94ogh https://app.box.com/s/ofdcg0a8n0zalumvpyju58he402ag1th

        16
  •  2
  •   Sanjay Hadiya    6 年前

    我发现没有找到与给定名称匹配的资源的解决方案:attr“android:keyboardNavigationCluster”。更新到支持库26.0.0时

    只需从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'
                }
            }
        }
    }
    
        17
  •  2
  •   Tuan Nguyen    6 年前

    我在编译react native fbsdk时遇到了这个问题

    我通过改变解决了这个问题 build.gradle 属于 react-native-fbsdk

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

    compile('com.facebook.android:facebook-android-sdk:4.28.0')
    
        18
  •  1
  •   Mohammed Ibrahim    7 年前

    只是制造 compileSdkVersion to 26 buildToolsVersion to 26.0.2

    还应更新其所有 支持库使用26.1.0或更高版本。

        19
  •  1
  •   Artist404    7 年前

    在gradle中更新这些

    编译SDK版本27

        20
  •  1
  •   Palak Jain    7 年前

    我通过对构建进行一些更改来解决这个问题。gradle文件

    变更 具体如下:

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

    内部版本中的更改。梯度如下:

    compileSdkVersion 26 
    buildToolsVersion "26.0.1"
    

    dependencies {
        compile 'com.android.support:appcompat-v7:26.0.1'
    }
    
        21
  •  1
  •   palia5    6 年前

    对于任何使用nativescript并面临此问题的人:您可以添加

    compileSdkVersion 26
    buildToolsVersion '26.0.1'
    

    应用程序内资源/安卓/应用程序。gradle(低于 android {

    然后运行 tns platform remove android tns build android

        22
  •  0
  •   Ph0b0x    7 年前

    确保您的开发环境中有Android SDK 8.0。我在MAC上也遇到了同样的问题,安装了SDK 8.0及其工具后就解决了这个问题。我在Windows上也有同样的问题。我正在下载SDK。

        23
  •  0
  •   Amr.Ayoub    6 年前

    我和爱奥尼亚也有同样的问题。

    cordova platform remove android
    cordova platform add android@6.4.0
    

    cordova.system.library.1=com.android.support:support-v4+
    

    cordova.system.library.1=com.android.support:support-v4:26+
    
        24
  •  0
  •   S HemaNandhini    6 年前

    为此,你必须做以下事情 1.右键单击项目单击。

    3.单击“确定”。

        25
  •  0
  •   Tom Zych    5 年前

    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    
    compile 'com.android.support:appcompat-v7:26.0.1'
    compile 'com.android.support:design:26.0.1'
    compile 'com.android.support:cardview-v7:26.0.1'
    compile 'com.android.support:recyclerview-v7:26.0.1'
    
        26
  •  -1
  •   Esdras    7 年前

    只需清除项目并重新构建。

    ./gradlew  app:clean app:assembleDebug