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

错误:(18,21)没有找到与给定名称匹配的资源: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'.

process. processexception: Failed to execute 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

什么好主意吗?


当前回答

在我的react-native项目中,这个错误是在react-native-fbsdk中生成的。更新react-native-fbsdk/android/build。下面的Gradle修复了这个问题。

compileSdkVersion 26
buildToolsVersion "26.0.1"

其他回答

我能够解决它通过更新sdk版本和工具在gradle compileSdkVersion 26 buildToolsVersion“26.0.1”

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

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

//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'
                }
            }
        }
    }

在android studio,右键单击项目(因为我有一个Cordova项目,我有CordovaLib和android:在我的情况下,我选择了android),

选择开放模块设置 在弹出的项目结构模式中,在侧面板的模块部分选择项目(在我的例子中还是android) 单击Dependencies选项卡 点击右上角的绿色加号按钮 选择库依赖关系 从下拉菜单中选择app-compat-v7 清理项目和重建

为此你必须做下面的事情 1.右击项目单击。

2.打开模块设置->属性选项卡->修改编译SDK和构建工具版本为26,26.0.0。

3.单击ok。

试了一个小时后,它为我工作了。