【发布时间】: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
}
}
【问题讨论】:
-
使用新的 Google Play 和 Firebase 版本控制方案,您应该 migrate away from using common version numbers。
-
我有一个 strange problem,通过将
firebase-core放在所有其他 Google Play 和 Firebase 库之前解决了这个问题。你可以试试。 -
在回购列表中将
google()放在jcenter()之前也更安全。看到这个:stackoverflow.com/a/51253780/4815718 -
不,不幸的是,上述方法都不起作用。
标签: android firebase gradle android-gradle-plugin