发生冲突的两个包分别是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