No resource found that matches the given name: attr 'android:keyboardNavigationCluster'


以前可以运行的工程项目从Git拉一下代码然后再运行就各种问题,而项目中用到了谷歌,Facebook一些SDK,对我们开发来说真的很坑人。

先看报错

 /.../appild/intermediates/res/merged/beta/debugalues-v26alues-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'. 

Model的以前运行环境是

 compileSdkVersion 25
  buildToolsVersion '25.0.0'

而Model里除了谷歌的SDK之外,还有Facebook的,把FaceBook的注释掉就不再报错。

Facebook的引用如下

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

这个是FaceBook的所有SDk都包含的引进,以前电脑没问题,再重新拉取就把上面的错误, 也就是 'com.facebook.android:facebook-android-sdk:4.+' 所依赖的环境发生变化, compileSdkVersion 发生变化了,从报错中可以看到 版本号信息的 V26,也就是com.facebook.android:facebook-android-sdk:4.+ 依赖的 compileSdkVersion 变成了26,然后把 compileSdkVersion  值设置为 26即可


 compileSdkVersion 26
    buildToolsVersion "26.0.1"


也就是遇到 No resource found that matches the given name attr 问题时可根据提示的 缺少的环境的Version 进行相应的 compileSdkVersion   环境值修改,修改为缺少资源报的最高的版本。

你可能感兴趣的:(技巧)