架構日記(十)Sophix-Hotfix集成中,友盟和阿里系jar包衝突的解決方案-離線集成

友盟推送SDK依賴部分阿里系SDK功能,其中使用並封裝了TNet SDK、Network SDK、ACCS SDK三個SDK,如果與以上三個SDK衝突,必須去掉您自己使用的三個中的SDK,同時使用了alicloud httpdns SDK、alicloud utls SDK、utdid SDK ,如果與以上三個SDK衝突,您可以去掉衝突中的一個即可(注意版本兼容)。

友盟Android Push SDK與阿里集團其他庫出現集成衝突的解決辦法引導
Android Push當前使用到的阿里雲相關庫文件及版本爲:
alicloud-android-sdk-httpdns-1.1.3.1
alicloud-android.utils-1.0.3
networksdk-3.5.5-open
tlog_adapter.3.0.0.17
tnet4android-3.1.1.14.9
如果您使用的友盟Push推送和您已經使用的阿里系產品有庫衝突問題,可以採用Android SDK 6.0.1版本離線依賴的方式集成友盟Push推送,同時檢查下載的push的libs中的依賴庫,對於衝突的依賴庫,建議使用友盟所使用的依賴庫,如需使用其它阿里系產品的依賴庫,需自行測試一下Push相關功能是否能正常使用(一般不會有問題)

 

utdit衝突 utdit2衝突 等等一系列衝突的解決方案

問題根源:

implementation 'com.aliyun.ams:alicloud-android-hotfix:3.2.14'

implementation 'com.umeng.umsdk:analytics:8.1.1'
//PushSDK必須依賴基礎組件庫,所以需要加入對應依賴
 implementation 'com.umeng.umsdk:common:1.5.4'
//PushSDK必須依賴utdid庫,所以需要加入對應依賴
implementation 'com.umeng.umsdk:utdid:1.1.5.3'
//PushSDK
implementation 'com.umeng.umsdk:push:6.0.1'

hotfxi屬於阿里系的包  其他的屬於友盟系列的包,最噁心的是什麼呢,友盟的push:6.0.1裏面只有一個classes.jar 其他的都是源碼,出現了類的衝突是無法解決的,exclude語法只能作用到module和group而無法作用的代碼中的class。如圖

是不是很氣

解決方案:

去友盟的官網下載離線SDK

我下載的是離線SDK6.0.1

下載下來一個是這樣的目錄

首先我們刪除兩句話

implementation 'com.umeng.umsdk:common:1.5.4'

implementation 'com.umeng.umsdk:utdid:1.1.5.3'

mplementation 'com.umeng.umsdk:push:6.0.1'

然後將push目錄作爲一個module  Import Module作爲一個依賴 :push

然後在app的gradle下引用

implementation project(':push')

題外話:所以寫其他的問題如果你遇到了就這樣解決

上面不是還有一個友盟的分析功能嗎

implementation 'com.umeng.umsdk:analytics:8.1.1'  就是他  這個依賴會和一個jar包衝突包名是:utdid4all-1.1.5.3_proguard.jar

所以有這個依賴,utdid4all-xxx.jar一定要在主工程的libs文件內部刪掉否則也會有衝突包問題

 

 

好了我們接着說,現在進入:push模塊

這是我經過刪改之後剩下的jar包,特別說一下因爲你去除了implementation 'com.umeng.umsdk:common:1.5.4'

所以你要添加umeng-common-2.25.jar

 這個jar包需要刪除  utils系列會和hotfix內部的jar包衝突,刪除即可

接下來就是一些個人喜好的修改,我們將hotfix和友盟的依賴放到一起,給主工程用,是這樣的

這個是push.gardle 這是模塊化中的公共模塊思想,將容易出問題的東西,又是通用的東西,放到一個basemodule中,防止這個錯誤再次發生。

至此,友盟推送和阿里系的衝突問題已經解決,順便說一下有沒有使用RxTool 1.7.6的兄弟,這裏也是有問題的,因爲RxTool1.7.6裏面有一個aliPay.jar這裏也和阿里系列的jar包衝突,解決方法是直接刪掉aliPay.jar這個包即可。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章