Firebase 云消息传递冲突 fb

Firebase cloud messaging conflict fb

我的项目运行良好,我将 FCM 添加到 build.gradle。这里的错误

Error:Error converting bytecode to dex:
Cause: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/zzr;

我的依赖项:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.google.firebase:firebase-messaging:9.4.0'
    ...
    compile 'com.facebook.android:facebook-android-sdk:[4,5)'
    compile 'com.facebook.android:audience-network-sdk:4.14.1'

}

找了半天,发现有些依赖的库可能使用了相同的依赖,但版本不同。但我不知道如何解决它。有什么想法吗?

我能够在简单的测试版本中重现错误。为两个 Facebook 库生成的依赖项包括一个令人费解的条目。库 audience-network-sdk 依赖于 play-services-ads:8.4.0。我希望在那里看到更新的东西,比如 9.4.0。这似乎是问题的原因。

请注意,change log for the Facebook SDK 显示 8 月 23 日发布的版本 4.15.0。我试过了——没用。

类似的问题是 posted here。按照那里的解决方案,解决您的问题的一种方法是更新依赖项,如下所示。这可能不是最易于维护或最好的解决方案。它消除了我测试版本中的问题。

compile 'com.google.android.gms:play-services-ads:9.4.0'
compile 'com.facebook.android:facebook-android-sdk:[4,5)'
compile 'com.facebook.android:audience-network-sdk:4.14.1'

+--- com.facebook.android:facebook-android-sdk:4.15.0
|    +--- com.android.support:cardview-v7:23.4.0
|    +--- com.android.support:support-v4:24.1.1
|    |    \--- LOCAL: internal_impl-24.1.1.jar
|    \--- com.android.support:customtabs:23.4.0
|         \--- com.android.support:support-v4:24.1.1
|              \--- LOCAL: internal_impl-24.1.1.jar
+--- com.facebook.android:audience-network-sdk:4.14.1
|    +--- com.google.android.gms:play-services-ads:8.4.0  <-- ERROR??
|    |    \--- com.google.android.gms:play-services-basement:9.4.0
|    |         \--- com.android.support:support-v4:24.1.1
|    |              \--- LOCAL: internal_impl-24.1.1.jar
|    +--- com.android.support:appcompat-v7:24.1.1
|    |    +--- com.android.support:animated-vector-drawable:24.1.1
|    |    |    \--- com.android.support:support-vector-drawable:24.1.1
|    |    |         \--- com.android.support:support-v4:24.1.1
|    |    |              \--- LOCAL: internal_impl-24.1.1.jar
|    |    +--- com.android.support:support-v4:24.1.1
|    |    |    \--- LOCAL: internal_impl-24.1.1.jar
|    |    \--- com.android.support:support-vector-drawable:24.1.1
|    |         \--- com.android.support:support-v4:24.1.1
|    |              \--- LOCAL: internal_impl-24.1.1.jar
|    \--- com.android.support:recyclerview-v7:23.1.0
|         \--- com.android.support:support-v4:24.1.1
|              \--- LOCAL: internal_impl-24.1.1.jar