【问题标题】:Android dependency 'com.google.android.gms:play-services-base' has different version for the compile (16.0.1) and runtime (16.1.0) classpathAndroid 依赖 'com.google.android.gms:play-services-base' 的编译(16.0.1)和运行时(16.1.0)类路径有不同的版本
【发布时间】:2019-11-15 15:12:48
【问题描述】:

build.gradle 中添加以下新的Places API 依赖项后出现错误,因为Android Places SDK 已被弃用。

错误

Android 依赖 'com.google.android.gms:play-services-base' 有 编译(16.0.1)和运行时(16.1.0)的不同版本 类路径。您应该通过手动设置相同的版本 依赖解析

我还在项目级别 build.gradle 中将 google 服务版本从 3.2.1 更新为 4.2.0

dependencies {
    ...
    classpath "com.google.gms:google-services:4.2.0"
    ...
}

在应用级别build.gradle。我添加了新的Places API 依赖并评论了旧的,我还在项目中使用了其他服务,如位置和地图,见下文

 dependencies {
    ...
    implementation "com.google.android.libraries.places:places:1.0.0" // new
    // implementation "com.google.android.gms:play-services-places:16.0.0" //deprecated
    implementation "com.google.android.gms:play-services-location:16.0.0"
    implementation "com.google.android.gms:play-services-gcm:16.0.0"
    implementation "com.google.android.gms:play-services-maps:16.0.0"
    ...
}

【问题讨论】:

    标签: android google-play-services google-places-api


    【解决方案1】:

    除了使用依赖解析之外,还可以强制 Gradle 打包特定版本:

    implementation("com.google.android.gms:play-services-base:16.1.0") {
        force = true
    }
    

    【讨论】:

    • 我试过你的解决方案但还没有成功,即使我没有像xxx:play-services-base这样的依赖
    【解决方案2】:

    经过大量回答,this帮助了我!

    在项目级别设置resolutionStrategy build.gradle

    allprojects {
      ...
      configurations.all {
        resolutionStrategy.force "com.google.android.gms:play-services-base:16.1.0"
      }
      ...
    }  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-29
      • 1970-01-01
      • 2019-03-16
      • 1970-01-01
      • 2018-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多