升级第三方sdk的时候,由于第三方的moudle
compileSdkVersion 26
buildToolsVersion '27'
都高于我主程序的对应的版本
compileSdkVersion 24
buildToolsVersion '24.0.1'
这时候运行会包一些资源文件的找不到了,如:
D:\tongzai5\pptClient\pptfamliy\build\intermediates\res\merged\debug\values-v26\values-v26.xml
Error:(15, 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'.
等问题,但当我把主程序的。gradle文件中的
compileSdkVersion ,buildToolsVersion 都改成和第三方的中一样时,重新构建,运行成功,但是,当我返回,调用到onkeydown()这个方法时应用会崩溃。
因为在 因为当support_version是27时,KeyEventCompat类在support-v4中被删除。我们可以在AppCompatActivity的dispatchKeyEvent方法时 执行到KeyEventCompat.isCtrlPressed(event),因为找不到类,所以导致应用程序崩溃。
我的解决方法是 在找到引用 了这个compile 'com.android.support:support-compat:27.0.0',的地方把这个引用替换成
compile 'com.android.support:appcompat-v7:27.0.2'。重新运行,正常。