【android&gradle】华为推送HwPush_SDK_V2705.jar与百度地图.jar冲突

#问题

项目中经常会出现集成多个三方的libs,经常出现集成的某A.jar 和 B.jar 而 B.jar 却已经包含了A中的(部分,强调一下)方法
出现这种情况的因素有很多种,博主自己遇到的就是各个sdk升级不可能那么及时。这次遇到的问题就是华为推送中包含了百度地图相关类,而我新下载的百度地图sdk存在了相同的类导致 无法编译通过。

#尝试

尝试在用  provided files('libs/BaiduLBS_Android.jar') 虽然能够正常编译,但是真正运行百度的方法时会崩溃,原因是找不到相关的类。(gradle 3.0.1 可以使用compileOnly)

#查找资料

比较幸运在花粉俱乐部找到了 Push SDK-客户端常见问题,第五条
5.应用中的百度地图jar包和Push SDK中的百度地图相冲突了,Push中的百度地图包能删掉么?
答:在不使用地理信息上报功能时,可以删除Push中的百度地图包,具体如下:
(1)删除和百度地图相关的jar包。
(2)可以把assert目录下pushresources文件夹以外的图片都删掉。
(3)rootca_0727.bks是华为Push的不要删除。
用好压打开(不要解压),直接删掉上述文件就可以了。

#解决问题

根据资料的提示和业务需要,将华为推送中无关的百度内容删除掉,再进行编译,就能正常运行了。

(使用compile 或者 gradle 3.0及以上implementation




#其他

关键词:  exclude group
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值