1.SDK的概念
SDK全称 Software Development Kit,广义上的SDK 是为特定的软件包、软件框架、硬件平台、操作系统等建立应用程序时所使用的开发工具的集合;
其实就是jar包、so库、aar包,本质是对api和资源的封装
2.使用场景
如地图SDK、人脸识别或OCR的SDK、支付SDK、音视频SDK等等
3.设计
1)需要考虑调用简单
2)数据回调方式以及对应状态码设计
4.初始化
SDK初始化的本质:
注入(APP)应用上下文,用于获取相关资源及服务
可以在应用获取也可以利用ContentProvider获取
原因:
ContentProvider中的onCreate()方法是先于Application中的onCreate()方法执行
5.安全
1)数据化存储相关,sp、mmkv、sqlite等最好都不要明文存储
2)网络安全配置,networkSecurityConfig
3)混淆
6.压缩优化
资源压缩