這篇文章將為大家詳細(xì)講解有關(guān)Android怎么實(shí)現(xiàn)exclude aar包中的某個(gè)jar包,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的靖遠(yuǎn)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
場景一
要移除的jar包不在aar包中的classes.jar中
直接把a(bǔ)ar包里的Jar打包的時(shí)候給去掉,就像下面這這樣。注意,要使用exclude module這種方式,直接使用exclude group方式?jīng)]有效果。exclude group的方法適用于exclude JAR包中的文件。
implementation(name: '×××××××aar包', ext: 'aar') { exclude module: 'gson' }
場景二
要移除的jar包在aar包中的classes.jar中
這個(gè)時(shí)候,使用exclude方法已經(jīng)不能生效了。你可以使用下面的通用方法
解壓aar文件到tmpDir目錄下
unzip ×××.aar -d tmpDir
找到classes.jar包,用壓縮工具打開,刪除目標(biāo)文件
將tmpDir重新打包成一個(gè)新的aar
jar cvf ×××NewLib.aar -C tmpDir/ .
**補(bǔ)充:**我在Ubuntu下直接使用壓縮工具打開aar包,然后刪除其中的重復(fù)的文件,這個(gè)方法也是可行的。
補(bǔ)充知識(shí):Android導(dǎo)入多個(gè)Module時(shí)包沖突解決辦法
本文章是基于AndroidStudio的經(jīng)驗(yàn)總結(jié) 希望可以幫到您
1.如果某項(xiàng)目中導(dǎo)入了v4包(環(huán)信集成)
自己的項(xiàng)目AS中會(huì)自動(dòng)導(dǎo)入V7包,V7包中就包含V4從而會(huì)導(dǎo)致V4jar包沖突
錯(cuò)誤提示:
Error:Execution failed for task ':transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/annotation/ColorRes.class
解決辦法:
compile ('com.android.support:appcompat-v7:23.3.0'){ exclude module: 'support-v4' }
compile fileTree(include: ['*.jar'], dir: 'libs')
這句話會(huì)導(dǎo)入lib文件夾中所有jar包
如果通過上面方法還沒有解決問題說明lib中還是有V4包引用沖突 最好的辦法就是注釋掉 然后需要用到哪個(gè)jar 再導(dǎo)入哪個(gè)
關(guān)于“Android怎么實(shí)現(xiàn)exclude aar包中的某個(gè)jar包”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。