震惊!竟然可以这样使用自己的SDK开发Android

1. SDK 和 API 的区别

SDK是开发时经常遇到的词,Android系统的SDK,其他公司开发的SDK(比如友盟等)。这个时候博主有点疑惑,为什么友盟提供的叫SDK呢,实际使用的时候就是调用了几个API啊。SDK和API的区别是什么呢?
API提供让你使用一个东西的能力,SDK给了你构建一个东西的能力。比如后台提供给客户端API,客户端可以调用后台的数据处理、存储的能力。Android系统SDK提供了构建Android APP的能力。也就是说,API就像是积木块,可以通过连接不同形状的块来组装我们想要的东西;而SDK就像是生产车间,除了已产的积木块,还可以利用车间的其他开发工具创建自己的块。
这样理解API和SDK的区别了,但是还无法解释为什么友盟提供的叫SDK,或许叫API更恰当些。
如果扩充下SDK的定义,由API、接口文档和项目样例等组成的也可以叫做SDK。
经过博主的一番“苦学“,找到了一个能让我比较好区分的解释。

2. Android 的库格式

使用他人的代码功能,除了直接拷贝源码之外,更文明的方式是通过aar或者jar包。jar是java开发中通用的类库,aar是Android中独有的类库。
1. jar是java .class文件的压缩包,不包含Android中的资源文件,界面的实现只能通过纯java的形式,想想就很酸爽。Eclipse和Android Studio均支持jar包。
2. aar中既包含.class文件,也包含android的资源文件,用起来比jar包更方便。很可惜,aar只在Android Studio中使用,所以现在大多数第三方SDK,提供的都是jar包。AS才是未来,祝大家早日放弃使用Eclipse写Android。

3. Android Studio 导出 jar 包和 aar 包

利用 Android Stduio 导出 jar 包和 aar 包的方式很简单,在 build.gradle 中简单配置下就好。具体的步骤可参考Android Studio导出并使用aar和jar

4. 设计 Android SDK 原则

这方面,博主还没有实战经验,只能给大家一篇牛逼的文章做参考开发一流的 Android SDK:Fabric SDK 的创建经验,逼格版Building First-Class Android SDKs: A Fabric Case Study。博主能力有限,只知道这么多了。

5. 总结

本文首先介绍了SDK和API的区别,然后介绍了目前常用的两种格式类库以及在Android Studio中如何生成这两种类库。最后,本文给出了 SDK设计原则的参考文章,供大家品读。

本文的诞生要感谢
1. Difference between an API and SDK
2. What is SDK ?What is API ?What is the difference between them ?How to get the right Android SDK for your project or Mobile Device?

很惭愧,做了一点微小的贡献!
震惊

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值