我們在寫項目時,如果用到了第三方依賴庫,一般會考慮通過倉庫直接依賴或者下載到本地進行依賴
倉庫直接依賴:
//A方法 dependencies { …… implementation 'com.alibaba:fastjson:1.1.71.android' }
下載到本地依賴:
放到模塊的libs包中,可以通過兩種方式進行依賴
//B方法 android { …… //添加本地倉庫 repositories { flatDir{ dirs 'libs' } } } dependencies { //依賴 implementation (name:'fastjson-1.1.71.android',ext:'jar') }
//C方法 dependencies { …… implementation files ('libs/fastjson-1.1.71.android.jar') }
上面A、B、C三種方法,在使用時沒有區別,但是在將module打包為aar提供出去時,就會有區別
其中 A和B兩種方法,打包的aar中不包含引用的三方jar,在調用方引用我們aar的時候,同時還需要引用我們aar中所用到的jar,不然就會報ClassNotFound之類的問題
C方法是直接將依賴的jar,打包到aar中,調用方使用我們aar的時候,不需要重復引用我們使用的jar,直接就可以正常使用
以此做記錄,至於aar引入三方aar,並打包進我們自己aar中,方法還在找,后續補充