友盟的push出现jar包冲突的解决方案

Android studio下的错误日志如下:

Multiple dex files define Lcom/ta/utdid2/android/utils/UTDID

也就是说:就是项目引用的JAR包有重复的地方

2、我出现这个错误的原因是:(冲突了)

1.集成了Umeng的push(消息推送)的jar包
2.集成支付宝的支付jar包

先上2张图说明一下

友盟push:

友盟的push出现jar包冲突的解决方案_第1张图片
友盟推送的jar包.PNG

支付宝

友盟的push出现jar包冲突的解决方案_第2张图片
支付宝的jar包.PNG

现在清楚了吧,就是这个ta/utdid2的问题

友盟推送SDK为了提高设备标识的唯一性,除了UMID之外,还用到了Taobao提供的一个设备标识生成库(UTDID.jar)做双向保证。当前推送SDK兼容的UDID版本是V1.1.0。淘宝提供的设备标识生成库(UTDID.jar)已经广泛应用在阿里系的App中了,包括支付宝。部分集成过支付宝SDK的App,在集成友盟推送SDK的时候,会存在包冲突的问题。 为此我们只需要去除友盟的这个UTDIDjar包即可我们的SDK当前支持了ARM和X86平台,由于当前绝大部分Android设备均是ARM平台,我们提供了精简的只支持ARM平台的SDK供开发者选择: 只支持ARM平台的SDK( 下载);只支持ARM平台的去UTDID的SDK( 下载)。

引用一段官方描述

友盟的push出现jar包冲突的解决方案_第3张图片
友盟官网.PNG
总结:额,原来Umeng用了支付宝的工具,造成了冲突.,那么解决方法Umeng也给出来了,那就是删除utdid4all这个jar包,

好的!解决此问题,希望对你有所帮助!

关于jar包重复导致的不能通过编译,接下来,会单独总结一下,敬请关注!

你可能感兴趣的:(友盟的push出现jar包冲突的解决方案)