SDK就是软件开发工具包(Software Development Kit)的缩写,在开发app的过程中我们肯定不可避免的要用到第三方的开源工具包,比如熟悉的recyclerview、support-v4、okhttp等等。在AndroidStudio中我们可以使用这种:
implementation 'com.android.support:recyclerview-v7:27.1.1'
或者引用外部jar包或者aar的方式进行使用。
那么如果要我们去开发一个SDK,提供某些功能的,要如何去做呢?
其实没那么难,我们进行app开发的时候怎么去写代码,开发SDK的时候就如何去写代码,区别是在你的SDK是要提供给一个或者多个人去用的,那么你考虑的东西肯定就比普通开发app的时候要多。
下面列出本人进行SDK过程中的思考:
- SDK的整体架构应该长什么样
- 入口类是什么,需要单例嘛,应该提供什么功能,入口类代码不宜过多
- SDK是否有大小要求,如果有,怎样做到最小
- 是否需要用到加密技术,如果是你使用哪几种,使用的时候是否会增加原有SDK的大小
- 是否需要使用插件化技术
如果以上问题都有考虑好了,就可以开始开发了:
一:新建Android Library项目
二:正常的书写代码,设置好需要暴露的接口,代码不要太多
三:在lib工程的gradle中编写生成工具,生成Jar包
//Copy类型
task makeJar(type: Copy) {
//删除存在的
delete 'build/libs/TestSDK.jar'
//设置拷贝的文件
from('build/intermediates/packaged-classes/release/')
//打进jar包后的文件目录
into('build/libs/')
//include ,exclude参数来设置过滤
include('classes.jar')
//指定打包的class
include "com/mobile/testsdk/*.class"
//重命名
rename ('classes.jar', 'TestSDK.jar')
}
makeJar.dependsOn(build)
四:在终端窗口执行 gradlew makeJar
其中makeJar就是你copy类型指定的名称,执行完成就会在libs目录下展示了