找不到与给定名称匹配的资源: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 = 26
和buildToolsVersion = '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 26
和buildToolsVersion 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时它不起作用。