1. 背景
本文介绍的是传统的FOTA升级而不是AB系统升级。
FOTA升级需要的差分包,其文件格式是zip,文件内容有着固定的格式。解压后在\META-INF\com\google\android目录下存放着两个文件
- update-binary,是linux下的可执行程序
- updater-script,属于文本文件
updater-script里的内容如下所示
apply_patch("/system/firmware/image/mba.mbn", "-",
5ebf32fdceba23fb731ec019678944348e02cf6b, 238464,
e3702e36a90e0f51648f886287638f56d191b55b, package_extract_file("patch/system/firmware/image/mba.mbn.p"
本文聚焦于FOTA( Firmware Over The Air)升级中的apply_patch功能。在FOTA的zip差分包中,update-binary和updater-script是关键文件。update-binary在运行时解析updater-script,执行apply_patch等指令进行升级操作。apply_patch对应的C函数为ApplyPatchFn,负责处理参数并调用applypatch应用补丁。该函数涉及原始文件、目标文件、文件hash和大小等信息,实现文件的升级更新。
订阅专栏 解锁全文
1066

被折叠的 条评论
为什么被折叠?



