Android OTA实现流程分析
OTA升级概述
制作升级包
自动生成update.zip升级包
手动生成update升级包
增量包目录结构
升级包写入设备分区
Android的三种工作模式
Recovery升级模式
OTA升级概述
OTA(Over-the-AirTechnology)是指手机终端通过无线网络下载远程服务器上的升级包,对系统或应用进行升级的技术。有关网络部分不做过多讨论,本文重点放在系统升级这一概念上。
目前主要分为两大类:
按照升级的方式可以分为:T卡升级和网络升级
按照包的内容可以分为:增量升级和整包升级
那么对于设备来说我们需要考虑几点:
升级包是怎么产生的
升级包是怎么写入设备对应的分区的。
制作升级包
对于Android系统升级包制作主要分两种:
一种是通过命令自动产出全包和增量包;
另一种是在之前升级包的基础(通常是增量包)上进行修改/增加新的内容;
实际上第二种是对第一种的补充方式。
自动生成update.zip升级包
这种方式就是通过Android提供的编译指令进行自动制作。
该方法主要概括为以下几个步骤:
make # 先编译Android源码
make otapackage # 开始制作ota全量包
# 制作差分包, 这一步需要准备基包base.zip, target_files.zip是刚刚生成的包, update.zip就是基于前面两个包产生的增量包,用于后面升级使用
./buil