Android OTA 工具
文章平均质量分 97
洛奇看世界
中山大学毕业,某芯片公司高级技术支持工程师,十几年的行业资深老油条,2b 狗主人,一个喜欢运动的老爹,一只热爱生活的程序猿。
展开
-
Android OTA 相关工具(一) 虚拟 A/B 之 snapshotctl
Android 虚拟 A/B 分区推出快三年了,不论是 google 还是百度结果,除了源代码之外,竟然没有人提到这个 Android Virtual A/B 的调试工具 ,着实让人感觉意外。对于 snapshotctl,除了 Android 自家的开发者之外,肯定有下游开发者用过,但没有人分享过这个工具,因此本篇算是全网对 snapshotctl 介绍的第一篇,我相信还有不少人连这个工具都没有听说过。所以我相信还有不少人不知道 Android OTA 到底都有哪些调试工具,这些工具又该如何使用?所以决定原创 2023-02-20 12:48:46 · 4598 阅读 · 0 评论 -
Android OTA 相关工具(二) 动态分区之 dmctl
我在上一篇《Android OTA 相关工具(一) 虚拟 A/B 之 snapshotctl》 中介绍了从虚拟 A/B 系统 (Android R)开始引入的 snapshot 调试工具 snapshotctl。snapshotctl 本身可以做不少事情,比方说 dump 升级信息, map 和 unmap 各种虚拟分区等。这一篇介绍动态分区调试工具 dmctl,配合 snapshotctl 工具,对各种 dm 开头的动态分区和虚拟分区进行调试更加方便。原创 2023-02-27 00:00:05 · 4713 阅读 · 0 评论 -
Android OTA 相关工具(三) A/B 系统之 bootctl 工具
分别介绍了调试动态分区和虚拟 A/B 分区最常用的工具 snapshotctl 和 dmctl,这一篇介绍 bootctl(boot control),一个专门用于设置 BootControl HAL 接口的工具。这个工具最常用的地方就是在 Android 系统命令行下用来检查 A/B 系统的槽位状态以及切换系统。我最早在 《Android A/B System OTA分析(三)主系统和bootloader的通信》介绍过基本用法,本篇则对这个工具进行详细介绍。原创 2023-03-02 22:01:20 · 5252 阅读 · 0 评论 -
Android OTA 相关工具(四) 查看 payload 文件信息
一直以来,很多人都表达过很想去研究一下 Android OTA 的 payload 文件,看看里面到底有什么,想对其进行一番研究操作,但又觉得 payload 文件很复杂,最终望而却步。从 Android 10(Q) 的动态分区开始,update_engine 的代码中新增了一个名为 payload_info.py 的脚本,专门用于解析 payload.bin 文件并显示相关信息。有了这个工具,我觉得你应该不需要再对 payload.bin 文件内容发愁了。原创 2023-02-26 17:14:45 · 4969 阅读 · 1 评论 -
Android OTA 相关工具(五) 使用 lpdump 查看动态分区
在 Android 10(Q) 开始引入动态分区,super 设备内的分区信息存放在头部的 lpmetadata 中,设备异常时经常需要检查分区情况,动态分区工具 lpdump 就是最常用的工具。编译 Android 源码时,默认会编译 lpdump 的 host 和 android 两个版本,分别在 x86 PC 和 Android 设备上运行。本文详细演示 lpdump 工具的用法,以及运行 lpdump 时遇到错误及相应的解决办法。原创 2023-03-26 22:28:37 · 5363 阅读 · 1 评论 -
Android OTA 相关工具(六) 使用 lpmake 打包生成 super.img
我在介绍过 lpmake 工具,这款工具用于将多个分区镜像打包生成一个 Android 专用的动态分区镜像,一般称为 super.img。Android 编译时,系统会自动调用 lpmake 并传入相关参数来生成 super.img,不需要我们手动操作。但难免还是有朋友想深入研究下 super.img,希望自己手动生成 super.img。所以这里专门开一篇详解介绍下 lpmake 工具。原创 2023-08-30 14:37:53 · 4324 阅读 · 0 评论 -
Android OTA 相关工具(七) 使用 lpunpack 解包 super.img
从 Android 10(Q) 开始,引入了动态分区,伴随的就是一组动态分区内容数据增删改查相关的操作,以及这些操作所需要的工具,包括 lpdump, lpmake, lpunpack, lpadd, lpflash。工具名称前缀 lp 表示是 logic partition,即逻辑分区。前面两篇分别介绍了 lpdump 和 lpmake,本篇介绍 lpunpack。原创 2023-08-31 11:07:05 · 4227 阅读 · 0 评论 -
Android OTA 相关工具(八) 使用 lpadd 添加镜像到 super.img
我一直以为没有人会使用 lpadd 工具,就像我以为没有人会去使用 lpmake 手动生成 super.img 一样。然鹅,真的有小伙伴使用 lpadd 和 lpmake 去学习和了解 super.img。话说 lpmake 和 lpadd 还真是一个学习 super.img 的好工具,要是再有一个 lpdelete/remove 就更好了。当然,这些都是非常低频甚至几乎不会用到的小工具,以至于在上一篇提到的 lpunpack 中有 bug 也一直没有修复。前几篇分别介绍了 lpdump, lpmake 和原创 2023-09-02 10:27:44 · 2088 阅读 · 0 评论