近期将androidStudio更新为3.1之后 ,发现导入第三方依赖基本都编译不过了

报的错误每次都不一样

unable to resolve dependency forxxxxxxx

android resource compilation failed xxx

等等 基本都是这些错误 ,而从网上搜索的话基本答案也都差不多 

最简单的关闭离线模式

关于androidstudio3.1 导入第三方依赖报错的问题

 

下载SDK

关于androidstudio3.1 导入第三方依赖报错的问题

 

添加maven 

关于androidstudio3.1 导入第三方依赖报错的问题

 

等等 这些都试过了 但是基本都不行,但是有的依赖不知怎么,重启一下studio就好了

最后觉得可能是项目的support  引入的第三方框架时版本冲突

后来通过

第一种,强制使用统一的版本号

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '27.1.1'
            }
        }
    }
configurations.all直接放在app build.gradle文件下,和dependencies同一级。

第二种,引入第三方支持时,去除第三方库中support支持
例如:api("com.afollestad.material-dialogs:core:0.9.5.0") {
        exclude group: 'com.android.support'
    }

第三种,使用编译器推荐的方法跳过相关代码段。

第四种,修改自己的版本或者修改第三方的支持库版本。这个比较麻烦。

第五种,如果values错误,看一定位到相应的行,有可能是item格式错误,androidstudio3.2之后校验比较严,如果是引入的插件,将插件下载下来,导入,修改错误部分即可。

 

通过以上一种方式修改之后就可以编译了
 

相关文章: