發生衝突的兩個包分別是android
implementation 'com.umeng.umsdk:share-qq:6.9.4'
implementation('com.xyzlf.share:sharesdk:0.0.11') {
exclude group: 'com.android.support', module: 'appcompat-v7'
}
複製代碼
第一個是友盟的分享SDK,第二個是xyzlf的ShareSDK 這兩個包引用的QQ的opensdk不只版本不一樣連特麼包名都不同(╯‵□′)╯︵┻━┻ 死法如圖: git
能夠看到是com.tencent.connect這個包下的類重複了,這種小問題,摳掉就完了~( ̄▽ ̄~)~ 納尼?沒效果!∑(っ °Д °;)っ這尼瑪不科學啊,仔細看看報錯,發現了一點端倪。 報錯的module名稱竟然和引入的jar包名稱不同?下面shareSDK也是同樣,並非引入的jar包的名稱。去友盟的官網從新下載SDK,不能用Gradle導入倉庫裏的SDK。 github
在這裏↓點設置,只勾QQ,而後打開zip包把lib和drawable裏的東東丟到咱的項目裏面 嗯?這是個啥玩意?裏面居然沒有open_sdk?難道在jar包裏? 還真特麼沒有?∑(っ °Д °;)っ 等會∑(っ °Д °;)っ我再回去看看剛纔這個下載界面 懂了!原來是友盟這廝魔改了SDK致使的!只勾完整版SDK,再次下載 這下對了嘛,opensdk不要,把這個umeng-share-QQ-full拖進項目 搞定,友盟QQ登陸和ShareSDK分享共存啦~( ̄▽ ̄~)~從新下載友盟的SDK,選擇完整版,而後不導入opensdk就好了,記得導drawable
PS.期間一度懷疑是我Gradle沒寫對,反覆修改Gradle都搞不定,差點懷疑人生。SDK衝突的時候仍是應該從源頭上找緣由,SDK不靠譜簡直出大問題,我的並不喜歡友盟這個平臺,它致使的問題多花的時間比它的集成剩下的時間多多了。 不過。。。它是怎麼搞定這麼多平臺的集成的∑(っ °Д °;)っ連臉書推特和剛涼涼的G+都有 bash