自从我将Google Play服务库升级到版本16.0.0以来,我的Linter引发以下错误:
不兼容的Gradle版本
../../ build.gradle:全部 com.google.android.gms库必须使用完全相同的版本 规范(混合版本可能导致运行时崩溃)。找到了 版本16.0.1、16.0.0。例子包括 com.google.android.gms:play-services-base:16.0.1和 com.google.android.gms:play-services-location:16.0.0
我显示了所有依赖项并看到了:
com.google.android.gms:play-services-location:16.0.0
| | +- com.google.android.gms:play-services-base:16.0.1
显然,google play-services-location 16.0.0具有对play-services-base 16.0.1的内部依赖关系,这会因版本不匹配而导致错误。
在我的项目gradle文件中,我已经将google依赖项更新为:
subset(data, as.Date(Time) == as.Date("2012-06-28"))
我必须随位置版本16.0.0一起发布该应用程序,如何解决此问题?
编辑: 我的build.gradle中的依赖项:
classpath 'com.google.gms:google-services:4.2.0'
答案 0 :(得分:2)
您可以尝试从定位服务gradle导入中排除16.0.1,例如:
implementation 'com.google.android.gms:play-services-base:16.0.0'
implementation ('com.google.android.gms:play-services-location:16.0.0') {
exclude group:'com.google.android.gms', module: 'play-services-base'
}
答案 1 :(得分:0)
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.google.gms') {
if (requested.name.contains("play-services-location")) {
details.useVersion "16.0.0"
}
if (requested.name.contains("play-services-base")) {
details.useVersion "16.0.0"
}
}
}
}
尝试这个