介绍
A/B System OTA是Android 7.0引入的新的OTA方式,跟以前的OTA在升级流程上来说已经完全不一样了,我们都知道之前的OTA走的是recovery模式。A/B System 不同之处在于系统中有两个system分区,当然boot分区也是两个,A和B,当我们进行OTA升级的时候实际上只是对b分区进行升级,而我们正在运行的a分区是不受影响的。
OTA包制作
制作流程跟以前是一样的,我简单提一下,首先就是make命令:
make otapackage
生成的target_files文件在out目录下:
out/target/product/xxx/obj/PACKAGING/target_files_intermediates/xxx.zip
OTA完整包在out下面,与system.img同一级目录,这里就不多说了。差分包的制作:
./build/tools/releasetools/ota_from_target_files -v --block -p out/host/linux-x86 -k build/target/product/security/testkey -i target_files_01.zip target_files_02.zip update.zip
生成的update.zip就是我们所需要的差分包。
OTA升级流程
根据官方文档的说明,主要分为以下几步:
1、将上面生成的OTA包push到机器中,
adb push update.zip /data/ota_package/update.zip
2、解析OTA包,生成升级所需参数
ota.py up