打包aar时把依赖的jar打包进aar中

我们在写项目时,如果用到了第三方依赖库,一般会考虑通过仓库直接依赖或者下载到本地进行依赖

仓库直接依赖:

 

//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中,方法还在找,后续补充

posted @ 2020-05-09 10:47  凤雏小呆  阅读(6452)  评论(0编辑  收藏  举报