一般我们封装SDK,常见的都是以jar包,aar包,so库等方式导入APP项目中。jar包和aar包都是需要将Moudle改为Library,那jar包和aar包有什么区别呢?简单来说就是aar包中包含资源文件,jar包中不包含资源文件,如果SDK中我们需要图片等资源那我们就选择aar包。接下来就针对aar包和jar包来讲一下封装SDK的过程和遇到的一些问题
1. 新建Library库
新建一个moudle

然后选择Android Library

如果是对原有的moudle改成library库,那就进入该moudle的gradle配置文件

将 apply plugin: 'com.android.application'修改成apply plugin: 'com.android.library'
然后去掉defaultConfig中的applicationId 就把可运行的Android module变成了一个library module。
但是要注意两点:
1、如果原本moudle中有自定义的Application,删除在AndroidManifest.xml中相应的Application配置
2、去掉原先moudle的主入口

2. 打包
2.1 打aar包
打aar包可以在控制台用命令行打,也可以直接用右上角的Gradle打

在build下的assembleRelease和assembleDebug都可以生成aar包,在当前library的build下面可以看到对应的aar包

2.2 打aar包
jar包可以通过aar包解压获取,如果直接aar包不能解压的话,可以先将aar包的后缀改为zip或者rar,然后再解压就可以得到jar包,如下:

3. 集成aar包和jar包
在需要集成的moudle的build.gradle 中的android中加上
repositories {
flatDir {
dirs 'libs'
}
}
在dependencies加上
api (name: 'aar包名', ext: 'aar')
jar包就加上
api files('libs/jar包名')
如上就是封装第三方SDK的一些步骤,在集成的过程中可能会遇到app的第三方库和aar的第三方库冲突的问题,可以用如下方法解决,替换对应的第三方库即可:
api (name: 'aar包名', ext: 'aar') {
exclude group: '冲突的第三方库的group', module: '冲突的第三方库的moudle'
}
本文详细讲解了SDK封装过程,包括创建Library库、打包aar和jar包的方法,以及在APP项目中集成这些包的步骤。同时,文章还介绍了如何解决集成过程中可能出现的第三方库冲突问题。
726





