安卓升级firmware后短信还有吗
发布网友
发布时间:2022-09-23 13:17
我来回答
共1个回答
热心网友
时间:2024-03-20 12:13
Android 升级分为两种,一种是对系统中单个文件升级,一种是对 mtd 整个分区进行升级,升级包是用 zip 格式压缩的经过签名的压缩文件。
升级过程主要流程描述如下:
1 boot 发现用户按住升级按键,将 recovery.img 作为 ramdisk 读取到内存。
2 内核根据 ramdisk 中的 init.rc 执行 recovery 脚本。 Recovery 脚本在 sdcard 中找到升级文件后调用 recovery 程序依次做以下操作:
A 检查升级文件的数字签名是否可靠。检查签名使用的本地密钥为 /res/keys。
B 如果签名合法则执行提取压缩包中 META-INF/com/google/android/update-binary 文件重命名到 /tmp/update_binary 并执行该文件。
C update_binary 解析压缩文件中的 META-INF/com/google/android/updater-script 文件并执行。其升级进度通过管道回传给 recovery 程序。升级 / 更新可以直接覆盖目标文件,也可采用二进制补丁形式以减少升级文件的容量,采用的工具为 bsdiff 和 imgdiff 。对于补丁包升级形式,升级数据源可靠性鉴别的依据为 sha1 校验和数据长度比对。具体要求为: 1 升 级包提供的目标文件的 sha1 值和目标文件计算值符合,即目标正确。 2 进行补丁后的文件 sha1 值和长度符合升级包提供的补丁后的目标文件的长度和 sha1 数值,保证结果正确。两项有一项不符合则升级过程停止。为保证第二项操作不损毁最终目标,打补丁的文件会先临时存储到 cache 中,等到结果比对正确才进行实际写入 / 替换目标文件操作。所以此过程要求 cache 目录必须有足够空间能够保存临时文件。
回答不容易,希望能帮到您,满意请帮忙采纳一下,谢谢