app中module導包衝突解決

在項目中導入jar包或者aar包時會碰到許多無頭緒的包衝突,細查之下我們會發現,app/build下導入的包與引入的module下的包衝突的解決方法

1、項目引入v4包和v7包,因爲v7包裏面包含了v4包,所以導致衝突

解決方案:

compile('com.android.support:appcompat-v7:23.3.0') {
            exclude module: 'support-v4'
        }
默認情況下v7中是包含V4包的,exclude 的意思就是從v7包中去除v4包這樣就可以解決衝突

2、引入的module中有v4包,然後主module又有v4包,如果你不想刪除任何一個v4包,或者其他情況不能把其中的一jar包刪除,這時候就要注意compile 和 provided 的區別了:

compile :jar包/依賴代碼 在編譯的時候需要依賴,在運行的時候也需要

provided : jar包/依賴代碼 僅在編譯的時候需要,但是在運行時不需要依賴

也就是說,你只要吧其中任意一個改爲provided就可以了
如:provided files('libs/Alipay.jar)

同時,你還要做一步處理:

去掉這行的jar包的引入
compile fileTree(include: ['*.jar'], dir: 'libs')

後續再遇到類似的問題,我再補充,暫時先這樣了!

在這裏插入圖片描述

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