目录
浅谈Android SDK开发
最近接到一个需求:把我们已经上线的app,封装一下,对外提供一个SDK,让第三方应用拥有我们app的能力,同时尽量不改变目前的构建发布流程。领导发话,那就开干吧,就按要求,在现有代码基础上做最小的改动封装一个SDK。我们的源码分为几个module,包括五个公共的module,一个业务的app module,还有一个壳module。app依赖于五个公共module,五个module之间也有一些依赖关系。封装SDK我经过了以下几个步骤:
- 解耦自定义的BaseApplication,封装组件初始化流程,提供SDK初始化入口;
- 封装功能入口,并设计对外提供的接口;
- 把多个module的代码打包进一个aar;
- 混淆配置;
- 编写demo;
- 编写sdk接入文档
前后用了大概5个工作日,初步实现了sdk,成功输出aar包,demo源码,接入文档。后面等客户和领导沟通再做进一步的开发和优化工作。趁这段时间,总结一下SDK开发的流程和经验。第一次做SDK的需求,总结的不好,望多指教。接下来我将从以下三个大方面简单聊一聊SDK开发:
- SDK开发的原则;
- SDK设计
- SDK项目架构
SDK开发的原则
SDK面向的是开发者,开发的SDK可能会被很多第三方app调用,所以SDK的关注点在于:可靠性,稳定性,易用性,兼容性,安全性。所以开发SDK要时刻谨记以下原则:
- 避免SDK导致的crash;
- 集成SDK尽可能简单,能一行代码接入就不要两行;
- 封闭实现,暴露接口尽可能少;
- 新旧版本接口兼容,记录每一个版本的修改记录;
- 包体积尽可能少,不做多余的事,不依赖多余的包,不打包多余的资源;
- 尽可能多兼容Android版本,如最低支持

本文详细介绍了Android SDK开发的全过程,从原则、设计、项目架构等方面展开,包括功能与职责边界、接口设计、兼容性、发布输出和文档设计等关键环节。作者通过实际项目经验,分享了解耦组件、统一资源管理、第三方依赖管理和混淆配置等方面的实践心得,旨在提供一套完整的SDK开发流程指南。

782

被折叠的 条评论
为什么被折叠?



