【问题标题】:Gradle play-services-measurement-base issueGradle play-services-measurement-base 问题
【发布时间】:2018-12-24 04:42:51
【问题描述】:

我在尝试使用 Firebase 动态链接时遇到问题。只有当我将该库添加到依赖项时才会出现问题,但如果我删除它,一切都会正常工作:

Failed to notify dependency resolution listener.
The library com.google.android.gms:play-services-measurement-base is
being requested by various other libraries at [[15.0.0,15.0.0],
[15.0.2,15.0.2]], but resolves to 15.0.2. Disable the plugin and check
your dependencies tree using ./gradlew :app:dependencies.

我到处寻找不同的 stackoverflow 问题,但找不到任何可行的解决方案。它要么给我上面的错误,要么不编译(相同的模块使用了两次或类似的)。我也尝试升级到最新版本,但没有成功。

我的依赖:

def support_library_version = '27.0.2'
def firebase_and_play_services_version = '15.0.0'
def firebase_version = '15.0.0'
def retrofitVersion = '2.4.0'
def jacksonVersion = '2.9.2'
def daggerVersion = '2.16'

dependencies {
    implementation 'org.slf4j:slf4j-api:1.7.13'
    implementation group: 'com.gimbal.android.v3', name: 'gimbal-sdk', version: '3.2.1'
    implementation group: 'com.gimbal.android.v3', name: 'gimbal-slf4j-impl', version: '3.2.1'

    implementation 'com.google.android:flexbox:0.3.0'

    implementation "com.android.support:design:$support_library_version"
    implementation "com.android.support:cardview-v7:$support_library_version"
    implementation "com.android.support:customtabs:$support_library_version"
    implementation "com.android.support:appcompat-v7:$support_library_version"
    implementation "com.android.support:support-v13:$support_library_version"
    implementation "com.android.support:support-v4:$support_library_version"
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'

    implementation "com.google.android.gms:play-services-gcm:$firebase_and_play_services_version"
    implementation "com.google.android.gms:play-services-analytics:$firebase_and_play_services_version"
    implementation "com.google.android.gms:play-services-location:$firebase_and_play_services_version"
    implementation "com.google.android.gms:play-services-maps:$firebase_and_play_services_version"
    implementation "com.google.android.gms:play-services-ads:$firebase_and_play_services_version"

    implementation "com.google.firebase:firebase-perf:$firebase_version"
    implementation "com.google.firebase:firebase-config:$firebase_version"
    implementation "com.google.firebase:firebase-core:$firebase_version"
    implementation "com.google.firebase:firebase-dynamic-links:$firebase_version"

    implementation 'com.google.maps.android:android-maps-utils:0.3.4'

    implementation "com.google.dagger:dagger:$daggerVersion"
    implementation "com.google.dagger:dagger-android:$daggerVersion"
    kapt "com.google.dagger:dagger-compiler:$daggerVersion"
    kapt "com.google.dagger:dagger-android-processor:$daggerVersion"

    implementation "com.squareup.retrofit2:retrofit:$retrofitVersion"
    implementation "com.squareup.retrofit2:adapter-rxjava2:$retrofitVersion"
    implementation "com.squareup.retrofit2:converter-jackson:$retrofitVersion"
    implementation "com.squareup.retrofit2:converter-gson:2.4.0"

    implementation 'com.squareup.okhttp3:okhttp:3.10.0'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.jakewharton.picasso:picasso2-okhttp3-downloader:1.1.0'
    implementation('com.github.ihsanbal:LoggingInterceptor:2.0.5') {
        exclude group: 'org.json', module: 'json'
    }
    implementation "com.fasterxml.jackson.core:jackson-core:$jacksonVersion"
    implementation "com.fasterxml.jackson.core:jackson-databind:$jacksonVersion"
    implementation "com.fasterxml.jackson.core:jackson-annotations:$jacksonVersion"

    //--- RxJava ---//
    implementation 'io.reactivex.rxjava2:rxjava:2.1.9'
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'

    compileOnly 'javax.annotation:jsr250-api:1.0'

    implementation 'android.arch.persistence.room:runtime:1.0.0'
    kapt "android.arch.persistence.room:compiler:1.0.0"
    implementation 'com.birbit:android-priority-jobqueue:2.0.1'
    implementation 'oauth.signpost:signpost-core:1.2.1.2'
    implementation('com.crashlytics.sdk.android:crashlytics:2.9.0@aar') {
        transitive = true
    }
    kapt 'org.androidannotations:androidannotations:4.4.0'
    implementation 'org.androidannotations:androidannotations-api:4.4.0'

    implementation 'com.pacioianu.david:ink-page-indicator:1.2.0'
    implementation 'com.sothree.slidinguppanel:library:3.2.1'
    implementation 'me.grantland:autofittextview:0.2.1'
    implementation 'com.facebook.android:facebook-android-sdk:4.28.0'
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'net.danlew:android.joda:2.9.4.1'
    implementation 'com.jakewharton:process-phoenix:1.0.2'
    implementation 'com.github.chrisbanes:PhotoView:1.3.0'
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}

我还更新了根build.gradle

buildscript {
    ext.kotlin_version = '1.2.51'

    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:4.0.2'
        classpath 'com.google.firebase:firebase-plugins:1.1.5'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

【问题讨论】:

标签: android firebase gradle android-gradle-plugin


【解决方案1】:

您需要将您的 firebase 依赖项更新到最新版本,从 Firebase site 检查它们。

如果您的应用依赖于 com.google.firebase:firebase-core:15.0.0 以及任何 以下库:

com.google.android.gms:play-services-analytics
com.google.android.gms:play-services-appinvite
com.google.android.gms:play-services-tagmanager
com.google.firebase:firebase-analytics
com.google.firebase:firebase-crash
com.google.firebase:firebase-dynamic-links
com.google.firebase:firebase-messaging

您需要将后一个依赖项的版本更新为 15.0.2。这解决了 3.3.0 版 Google Services Gradle 插件报告的问题:库 com.google.android.gms:play-services-measurement-base 正在 [[15.0.0,15.0.0] 的各种其他图书馆要求, [15.0.2,15.0.2]],但解析为 15.0.2...

来自firebase.google.com

【讨论】:

  • 已经完成了。这是行不通的。我已经尝试过制作 15.0.2 的所有内容,但还是不行。我收到这样的错误:Unable to resolve dependency for ':App@debug/compileClasspath': Could not resolve com.google.android.gms:play-services-gcm:15.0.2. Open File Show Details
  • 没有 play-services-gcm:15.0.2,只有 15.0.1,你不需要更新 play-services 版本,只需要更新 firebase 版本
  • 我已将 gcm 降级到 15.0.0,将 firebase 升级到最新的 16.0.016.0.1,然后我又回到了起点。同样的问题:The library com.google.android.gms:play-services-measurement-base is being requested by various other libraries at [[15.0.0,15.0.0], [16.0.0,16.0.0]], but resolves to 16.0.0. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.
  • 好吧,看来您必须将 play-services 更新为,但问题是 play-services-gcm 已删除,请参阅developers.google.com/cloud-messaging/android/…
【解决方案2】:

我能够在使用支持库版本 27.1.1 的测试版本中重现您的错误,并且仅使用下面显示的 Google Play 和 Firebase 库。更新到最新版本(如图所示)解决了问题。我不知道这是否会与您使用的其他库产生冲突。

implementation "com.google.android.gms:play-services-gcm:15.0.1"
implementation "com.google.android.gms:play-services-analytics:16.0.1"
implementation "com.google.android.gms:play-services-location:15.0.1"
implementation "com.google.android.gms:play-services-maps:15.0.1"
implementation "com.google.android.gms:play-services-ads:15.0.1"

implementation "com.google.firebase:firebase-perf:16.0.0"
implementation "com.google.firebase:firebase-config:16.0.0"
implementation "com.google.firebase:firebase-core:16.0.1"
implementation "com.google.firebase:firebase-dynamic-links:16.0.1"

【讨论】:

  • 伙计,你成就了我的一天!非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-11
  • 2022-01-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多