Android Studio封装SDK
一般我们封装SDK,常见的都是以jar包,aar包,so库等方式导入APP项目中。jar包和aar包都是需要将Moudle改为Library,那jar包和aar包有什么区别呢?简单来说就是aar包中包含资源文件,jar包中不包含资源文件,如果SDK中我们需要图片等资源那我们就选择aar包。接下来就针对aar包和jar包来讲一下封装SDK的过程和遇到的一些问题
1. 新建Library库 【Android Studio封装SDK】新建一个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'
}
推荐阅读
- android第三方框架(五)ButterKnife
- 2020-04-07vue中Axios的封装和API接口的管理
- Android中的AES加密-下
- 基于|基于 antd 风格的 element-table + pagination 的二次封装
- 带有Hilt的Android上的依赖注入
- python自定义封装带颜色的logging模块
- android|android studio中ndk的使用
- Android事件传递源码分析
- RxJava|RxJava 在Android项目中的使用(一)
- Android7.0|Android7.0 第三方应用无法访问私有库