在做这个功能之前我是一点都不了解这是啥,赶在双节之后的第一天,有点赶鸭子上架的赶脚。在做这个功能之前先了解一下这是个啥?
标准OTA升级流程:
1、Android设备与OTA服务器进行交互,如果有更新会推送给客户,包含OTA更新包的下载地址和一些版本信息
2、Update程序会将更新包下载到cache分区下,并提醒用户安装更新。
3、设备会重启进入recovery模式,同时启动recovery分区下运行环境,不再启动boot分区下的运行环境。
4、recovery运行环境初始化时会启动recovery二进制程序并根据/cache/recovery/command中的命令对更新包进行下一步操作。
5、Recovery运行环境对更新包中/res/key的签名进行校验,如果校验失败会中断升级。
6、Recovery二进制程序会对更新包中的数据进行解压同时根据解压出的数据对boot、system、和vender分区进行相应的更新。对system分区的更新也同时包含了新的recovery分区的更新。
7、重启设备
a.载入新的boot分区,并执行升级后的system分区中的二进制文件。
b.系统启动时会同时校验recovery分区,如果recovery与升级时保存在system分区下的信息不一致会对recovery进行更新。
8、系统更新完成。
OTA(Over-the-Air Technology)空中下载技术,听着是个高大上的名字。
有待完善!。。。后续进行中