android ota 方案实战,Android 系统OTA升级流程
Android系统进行升级的时候,有两种途径,一种是通过接口传递升级包路径自动升级(Android系统SD卡升级),升级完之后系统自动重启;另一种是手动进入recovery模式下,选择升级包进行升级,升级完成之后停留在recovery界面,需要手动选择重启。前者多用于手机厂商的客户端在线升级,后者多用于开发和测试人员。但不管哪种,原理都是一样的,都要在recovery模式下进行升级。一、获取升级包
Android系统进行升级的时候,有两种途径,一种是通过接口传递升级包路径自动升级(Android系统SD卡升级),升级完之后系统自动重启;另一种是手动进入recovery模式下,选择升级包进行升级,升级完成之后停留在recovery界面,需要手动选择重启。前者多用于手机厂商的客户端在线升级,后者多用于开发和测试人员。但不管哪种,原理都是一样的,都要在recovery模式下进行升级。
一、获取升级包,可以从服务端下载,也可以直接拷贝到SD卡中
二、获取升级包路径,验证签名,通过installPackage接口升级
1、调用RecoverySystem类提供的verifyPackage方法进行签名验证;
2、installPackage开始升级(创建目录/cache/recovery/,
command文件保存在该目录下;如果存在command文件,将其删除;然后将上面一步生成的两个参数写入到command文
件);
三、系统重启进入Recovery模式
系统重启时会判断/cache/recovery目录下是否有command文件,如果存在就进入recovery模式,否则就正常启动。
四、在install.cpp进行升级操作
五、try_update_binary执行升级脚本
六、finish_recovery,重启
保存升级过程中的log,清除临时文件,包括command文件(不清除的话,下次重启还会进入recovery模式),最后重启。
更多推荐
所有评论(0)