Android项目中和导入的SDK中使用的support包可能版本不相同,而导致不兼容。
support包兼容:
可以使用gradle DependencyResolveDetails配置方式强制使用相同版本
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '26.1.0'
}
}
}
}
support包升级:
如果需要升级support版本,手动修改上面的details.useVersion '26.1.0'为details.useVersion '28.0.0',会出现以下问题
ERROR: Failed to resolve: com.android.support:support-annotations:28.0.0
Add Google Maven repository and sync project
Show in Project Structure dialog
按照Android Studio提示修改,会添加google仓库。但是此仓库不稳定,有时构建成功有时构建失败。
解决方案为使用阿里镜像google库
maven { url 'https://maven.aliyun.com/repository/google' }
同时,compileSdkVersion和buildToolsVersion也要改成28相对应的版本,否则,会有finished with non-zero 错误
Process 'command 'D:\AppData\Local\Android\Sdk\build-tools\28.0.0\aapt.exe'' finished with non-zero exit value 1