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

在更新到最新的支持库版本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'. 

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 

有任何想法吗?

我能够通过更新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

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

使用编译SDK版本

 compileSdkVersion 26 

构build工具版本

 buildToolsVersion "26.0.1" 

目标SDK版本

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

同步Gradle。

我打这个完全相同的错误,谷歌search全部试图find我做错了,因为这是生成的值26代码,而不是我提供的样式。 我尝试了从Gradle 4.0到Android Studio预览版3.0到Canary频道的所有内容,并将其命名。

我从来没有在网上find答案。 最后,我能够回到标准的开发Android Studio和2.3.3 Gradle,因为我不小心修复了它:)。

原来我非常专注于更新我的库项目,我没有注意到这个错误是由嵌套在我的库项目中的未使用的子模块(演示应用程序)引起的。 一旦我更新了子模块以匹配26个构build工具和26+devise和支持库,我的问题就消失了。

不知道这是否是你所看到的,但个人,我只是更新lib再次发布,所以不关心示例应用程序模块,错误肯定似乎是相关的26 sdk,我只涉及lib模块所以没有考虑检查另一个。 所以这一直是我的问题。 希望能解决你的问题。 我有2个库项目中的这个错误,并在两个固定它。

Goodluck无论如何,如果这不能解决你的问题,请分享一下。 顺便说一下,26.0.01的构build工具和26.1.0的devise和支持是我最终走到最后的地方,尽pipe26.0.1也运行良好。

我有这个确切的错误,我意识到我的compileSdkVersion设置为25 ,我的buildToolsVersion设置为"26.0.1"

所以我只是将compileSdkVersion更改为26并同步了Gradle。 它为我解决了这个问题。

编辑:我的targetSDKVersion也被设置为26

这个问题是由于我的一个库需要版本26编译。

将targetSdkVersion设置为26会导致其他问题,您将不得不调整您的应用以适应Oreo平台。 这不是所有的正确解决scheme。

只是使compileSdkVersion to 26buildToolsVersion to 26.0.2为我工作。

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

 compileSdkVersion 26 targetSdkVersion 26 buildToolsVersion '26.0.2' 

更新你的Android工作室到3.0后,如果发生这个错误只是更新gradle属性,我的解决这个问题….

只需清理你的项目并重新构build。

 ./gradlew app:clean app:assembleDebug 

但是当targetSdkVersion或者compileSdkVersion是25时它不起作用。