support包一般有v4/v7/v13,主要是兼容低版本,v4兼容到api level 4(android 1.6及以上),v7(android 2.1及以上),v13(android 3.2及以上,一般用于平板),需要注意的是v7包默认包含了v4.
解决方法:
1. 在app/gradle文件中添加如下代码,让所有的第三方包强制使用指定版本的support包:
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion supportLibVersion
}
}
}
}
其中supportLibVersion就是你的support版本
2. 排除第三方依赖或module中的support库:
api("com.afollestad.material-dialogs:core:0.9.5.0")
{ exclude group: 'com.android.support', module: 'support-v13'
exclude group: 'com.android.support', module: 'support-vector-drawable' }
以上表示排除support中的部分module。或者:
api("com.afollestad.material-dialogs:core:0.9.5.0") {
exclude group: 'com.android.support'
}
表示排除整个support包
3. 将项目迁移至AndroidX,详见AndroidX