Facebook Android SDK 依赖冲突

11

我正在使用facebook-android-sdk:4.20.+com.android.support库,但出现了冲突错误信息:

All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versions 25.2.0, 25.0.0. Examples include com.android.support:animated-vector-drawable:25.2.0 and com.android.support:customtabs:25.0.0 less... (⌘F1) 
There are some combinations of libraries, or tools and libraries, that are incompatible, or can lead to bugs. One such incompatibility is compiling with a version of the Android support libraries that is not the latest version (or in particular, a version lower than your targetSdkVersion.)

以下是我的依赖项。

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile files('libs/YouTubeAndroidPlayerApi.jar')

    compile 'com.android.support:appcompat-v7:25.2.0'
    compile 'com.android.support:customtabs:25.0.0'
    compile 'com.android.support:design:25.+'
    compile 'com.android.support:cardview-v7:25.+'
    compile 'com.android.support:recyclerview-v7:25.+'
    compile 'com.fasterxml.jackson.core:jackson-core:2.7.4'
    compile 'com.fasterxml.jackson.core:jackson-annotations:2.7.4'
    compile 'com.fasterxml.jackson.core:jackson-databind:2.7.4'
    compile 'org.jsoup:jsoup:1.8.3'
    compile 'com.github.bumptech.glide:glide:3.7.0'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'commons-io:commons-io:2.4'
    compile 'com.google.android.gms:play-services-analytics:10.0.1'
    compile 'com.facebook.android:facebook-android-sdk:4.+'
    testCompile 'junit:junit:4.12'
}

在运行Gradle依赖报告时使用以下命令:./gradlew -q dependencies app:dependencies --configuration compile,下面是facebook-android-sdk的结果。
+--- com.facebook.android:facebook-android-sdk:4.+ -> 4.20.0
|    +--- com.android.support:support-v4:25.0.0 -> 25.2.0 (*)
|    +--- com.android.support:appcompat-v7:25.0.0 -> 25.2.0 (*)
|    +--- com.android.support:cardview-v7:25.0.0 -> 25.2.0 (*)
|    +--- com.android.support:customtabs:25.0.0
|    |    +--- com.android.support:support-compat:25.0.0 -> 25.2.0 (*)
|    |    \--- com.android.support:support-annotations:25.0.0 -> 25.2.0
|    \--- com.parse.bolts:bolts-android:1.4.0
|         +--- com.parse.bolts:bolts-tasks:1.4.0
|         \--- com.parse.bolts:bolts-applinks:1.4.0
|              \--- com.parse.bolts:bolts-tasks:1.4.0

我必须使用哪些依赖项的正确组合?


我认为这个答案可以帮助你:https://dev59.com/HpTfa4cB1Zd3GeqPKgFT - Pedro Hidalgo
2个回答

16

在你的特定情况下,问题是因为 Facebook SDK 依赖于 com.android.support:customtabs:25.0.0 这个版本过旧了,而你当前的支持库版本是 25.2.0

从依赖图中可以看到,新版本的 cardview-v7、appcompat-v7 和 support-v4 已经在使用中,所以你可以尝试添加:

compile 'com.android.support:customtabs:25.2.0'

到依赖中,这样也让 Facebook SDK 使用新版本的 customtabs。

这个答案也许会有用:Gradle error after including facebook sdk


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接