Android DependencyResolveDetails support版本兼容问题及升级版本问题

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

你可能感兴趣的:(Android,APP)