OTA常见方案分析(差分升级 全量升级 AB面升级 Recovery系统升级) | 您所在的位置:网站首页 › iqoo全量包升级方法 › OTA常见方案分析(差分升级 全量升级 AB面升级 Recovery系统升级) |
1.全量升级:
完整的下载新版本固件,下载完成后将固件搬运到APP程序运行的位置。(一般来说是将APP从片外flash搬运到片内flash上)。搬运完成后校验通过后重启APP。 利用算法,做出原版APP和新版APP程序的差分包,将差分包下载到flash,内部的BootLoader程序在利用算法将新版APP合成,合成后在搬运,搬运后校验,重启。 一般制作出来的差分包只有原包的5%左右。省空间! 1.对old文件中所有子字符串形成一个字典; 2.对比old文件和new文件,产生diff string和extra string; 3.将diff string 和extra string 以及相应的控制字用zip压缩成一个patch包。 设备端: 生成new File,bspatch算法 1.接收patch包; 2.解压patch包; 3.还原new文件。 3.原地升级:相比差分升级,合包的过程,直接搬运。 容错率低。 Android从7.0开始,引入了新的OTA升级方式:A/B System Updates A/B系统是指设备上有A和B两套可以工作的系统(用户数据只有一份,为两套系统共用),我们可以理解为一套系统分区,另外一套为备份分区。其系统版本可能一样,也可能不一样;通过升级,可以将旧版本也更新为新版本。当然,设备出厂时这两套系统肯定是一样的。 如图所示: Recovery系统安卓7.0以前传统的OTA方式:设备上有一个Android主系统和一个Recovery系统,Android主系统运行时检测是否需要升级,如果需要升级,则将升级的数据包下载并存放到cache分区,重启系统后进入Recovery系统,并用cache分区下载好的数据更新Android主系统,更新完成后重新启动进入Android主系统。如果更新失败,设备重启后就不能正常使用了,唯一的办法就是重新升级,直到成功为止。 |
CopyRight 2018-2019 实验室设备网 版权所有 |