近期将androidStudio更新为3.1之后 ,发现导入第三方依赖基本都编译不过了
报的错误每次都不一样
unable to resolve dependency forxxxxxxx
android resource compilation failed xxx
等等 基本都是这些错误 ,而从网上搜索的话基本答案也都差不多
最简单的关闭离线模式
下载SDK
添加maven
等等 这些都试过了 但是基本都不行,但是有的依赖不知怎么,重启一下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之后校验比较严,如果是引入的插件,将插件下载下来,导入,修改错误部分即可。
通过以上一种方式修改之后就可以编译了