Firebase云消息冲突fb [英] Firebase cloud messaging conflict fb

查看:142
本文介绍了Firebase云消息冲突fb的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的项目工作良好,我添加FCM到build.gradle。

 错误:将字节码转换为dex时出错:
原因:com.android.dex.DexException:多个dex文件定义Lcom / google / android / gms / internal / zzr;

我的依赖关系:

 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ com com com com com com com com com com com com com com com com com com com com com com com com com com com com com com com com com com com com com com .google.firebase:firebase-messaging:9.4.0'
...
compile'c​​om.facebook.android:facebook-android-sdk:[4,5)'
compile' com.facebook.android:audience-network-sdk:4.14.1'

}

在搜索很长时间之后,我注意到一些依赖的lib可能使用与差异版本相同的依赖。但我不知道如何解决它。任何想法?

解决方案

我能够在简单的测试版本中重现错误。两个Facebook库的生成依赖关系包括一个令人费解的条目。图书馆 audience-network-sdk 取决于 play-services-ads:8.4.0 。我预计看到更多的东西,如9.4.0。这似乎是问题的原因。



请注意, Facebook SDK更改日志显示了版本4.15.0的8月23日版本。我尝试了 - 这没有帮助。



类似的问题是发布在这里。按照解决方案,您的问题的一个修复是更新依赖关系,如下所示。这可能不是最可维护或最好的解决方案。它消除了我的测试版本中的问题。

 编译'com.google.android.gms:play-services-ads:9.4 .0'
compile'c​​om.facebook.android:facebook-android-sdk:[4,5)'
compile'c​​om.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


My project works well util I add FCM to build.gradle. The error here

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

My dependencies:

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'

}

After searching for a long time, I regconize that some libs in dependency may use the same dependency with difference version. But I don't know how to fix it. Any ideas?

解决方案

I am able to reproduce the error in a simple test build. The generated dependencies for the two Facebook libraries include a puzzling entry. The library audience-network-sdk depends on play-services-ads:8.4.0. I expected to see something more recent there, like 9.4.0. This seems to be the cause of the problem.

Note that the change log for the Facebook SDK shows an Aug 23 release of version 4.15.0. I tried that--it didn't help.

A similar issue was posted here. Following the solution there, one fix for your problem is to update the dependencies as shown below. This may not be the most maintainable or best solution. It eliminated the problem in my test build.

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

这篇关于Firebase云消息冲突fb的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆