安卓Jar包沖突解決方案

前言

在安卓項(xiàng)目開發(fā)過程中,我們免不了會(huì)接觸三方SDK的引用開發(fā),比較常見的SDK有基于地圖的高德地圖SDK,基于社會(huì)化分享的友盟統(tǒng)計(jì)SDK,以及基于Bug日志獲取的騰訊Bugly SDK等。由于不同的SDK開發(fā)方不同,所以經(jīng)常性的會(huì)引入Jar包沖突無法打包的問題,如果是三方SDK引用了本地已經(jīng)使用的Jar包,我們將沖突的Jar刪除即可,如果是兩個(gè)三方SDK引用了相同Jar包,我們則需要對SDK進(jìn)行一些特殊處理。

打包異常

zipException.png

如圖所示,在工程進(jìn)行APK打包的時(shí)候報(bào)了一個(gè)ZipException,出現(xiàn)這個(gè)異常的原因在于兩個(gè)Jar包中使用了想同包名相同類名的文件,導(dǎo)致程序不知道該使用哪一個(gè)類文件。


沖突Jar包(1).png

沖突Jar包(2).png

解決方案

當(dāng)兩個(gè)三方SDK使用相同包名相同類名的文件時(shí),我們需要手動(dòng)解決這個(gè)沖突,具體實(shí)現(xiàn)方法為將Jar包重命名為zip文件并解壓。


重命名zip.png

找到對應(yīng)沖突的文件,刪除沖突的文件,保證兩個(gè)Jar包中相同包名與相同類名的文件只能存在一個(gè),刪除沖突文件后,對文件進(jìn)行重新打包。
使用cmd進(jìn)入文件路徑:


cmd指令.png
jar cvf after_delete.jar .
打包Jar包.png

命令執(zhí)行完成,在執(zhí)行目錄會(huì)發(fā)現(xiàn)手動(dòng)解決沖突的Jar包,使用新Jar包重新打包即可解決打包沖突問題。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容