移动SDK 1的优化
魔窗是一个基于深度链接技术的开放平台。它通过提供深度链接、跨应用商店渠道的归因分析和延迟深度链接等解决方案,为应用开发者构建了一个去中心化的高效连接时代。最重要的产品是iOS和Android的SDK。
sdk优化的过程就是一部血泪史,有无数地方可以吐槽。手机sdk没有app方便。sdk发布后的任何问题都会影响到很多app。与app不同的是,你可以及时发布补丁,或者强制升级app,或者热更新app。所以在sdk发布之前,必须经过严格的测试,sdkhotfix的每一次发布都会对我们的用户产生严重的影响。
sdk优化最大的痛点就是规模。每次我们对接客户,他们都会问我们sdk的大小是多少。每当他们提到iOSsdk,都会说它挺大的。他们自己家的app已经是几十米了,接入我们的sdk会增加他们app的大小。所以,我不得不开始痛苦的sdk优化之路。
我们主要从以下几个方面优化sdk:
1.脚本构造
2.极限优化(网络、日志报告、图像格式优化等。)
3.第三方组件更换
4.小版本稳步迭代。
脚本构造
从开始开发sdk到目前正在开发的3.8版本,我们一直主张借助脚本自动打包,比如android使用gradle。使用脚本的优点是:
1)安卓sdk混乱
2)自动生成文档供开发者参考,比如android可以轻松生成javadoc文档。
3)android sdk上传aar包,iOS sdk发布到cocoa-pods,方便开发者集成。
4)节省劳动时间,减少误差。
脚本通常可以帮助我们实现很多自动化的东西,能够提高工作效率的方法肯定会被采用。
接下来,我们来看看如何用gradle实现sdk混淆。核心任务是proguardJar。