我们在写项目时,如果用到了第三方依赖库,一般会考虑通过仓库直接依赖或者下载到本地进行依赖
仓库直接依赖:
//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中,方法还在找,后续补充