![](https://img.haomeiwen.com/i15649819/0f210ed124bf8f83.jpg)
前言
最近由于工作需要,需要做一个sdk提供给合作伙伴,来让他们通过sdk调起我们的应用来进行一些业务,下图就是一个简单的需求画图(有些隐私不适合提供,请谅解,大概就是这个样子)
![](https://img.haomeiwen.com/i15649819/388c3358f26c64de.png)
插曲
其实很早以前就有一个需求需要提供sdk给别人使用,但是当时自己一听sdk,这是什么呢?一脸懵逼!!通过一系列协商之后,让H5做一套提供过去,这边就不做sdk,自己当时还很庆幸(广大朋友不要向我学习)。这次指明说让这边提供sdk,所以这一次是逃不掉了,自己也想了想,多接触一些,也对自己以后有很大的帮助,自己就进行学习一波,有哪里写的不对,期待大家的批评指导!!!
SDK简介
SDK全称 Software Development Kit,广义上的 SDK 是为特定的软件包、软件框架、硬件平台、操作系统等建立应用程序时所使用的开发工具的集合,狭义上的 SDK 则是基于系统 SDK 进行开发包装的、新的、独立的、能够完成特定功能并返回相关数据的一组工具的集合。
是不是看完这个简介还是糊里糊涂,主要就是将我们的一些业务分离出来,打成jar,so,arr并且给他们暴露一个调用的api方法,来实现接口回调,我的需求最终做的是aar,所以我这里主要讲的就是aar,以后遇到另外两种自己再进行讲解。
jar arr so的区别
*.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件。
*.aar:包含所有资源,class以及res资源文件全部包含
.so文件是Linux系统的可执行文件,相当于windows上的exe执行文件,只可以在Linux系统运行。
so文件就是常说的动态链接库,都是C或C++编译出来的。
第一步(创建自己的aar)
这里选取library之后点击next就会看到创建好的library
![](https://img.haomeiwen.com/i15649819/e34f594c7f844285.png)
![](https://img.haomeiwen.com/i15649819/a5e70d1773da4116.png)
![](https://img.haomeiwen.com/i15649819/13e7ec3d7b465bf5.png)
第二步引用aar
在引用aar的module的build中添加
repositories {
mavenCentral()
flatDir {
dirs 'libs'
}
}
在dependencies下添加
compile(name: 'mylibrary-debug', ext: 'aar')
结尾
万事开头难,至此我们已经成功的迈进了第一步,下一篇主要就是讲解aar中如何暴露接口提供合作方使用,以及aar中需要注意的事项!!
![](https://img.haomeiwen.com/i15649819/278520011bca8650.jpg)
网友评论