Android OTA 增量升级失败的问题

博客围绕安卓增量升级失败问题展开。通过查看日志和脚本,发现是升级前后 syste/etc/recovery-resource.dat 文件的 sha1 校验码检查失败。原因是首次烧录软件只全编未 make otapackage,而增量包 base.zip 经过该操作。解决办法是给客户的软件要全编并 make otapackage。

问题描述


增量升级失败,查看log

cat /cache/recovery/last_log
Installing update...
Verifying current system...file "/system/etc/recovery-resource.dat" doesn't have any of expected sha1 sums; checking cache
failed to stat "/cache/saved.file": No such file or directory
failed to load cache file
script aborted: "/system/etc/recovery-resource.dat" has unexpected contents.

"/system/etc/recovery-resource.dat" has unexpected contents.
E:Error in /mnt/media_rw/udisk/lierda_update.zip
(Status 7)
Installation aborted.
查看 update\META-INF\com\google\android\updater-script
apply_patch_check("/system/etc/recovery-resource.dat", "1074e1187579a9b7113486f2d78e18b5f7c033af", "b55e605cbf5b6500016ca108f2a1069078a6689c") || abort("\"/system/etc/recovery-resource.dat\" has unexpected contents.");

发现是检查由升级前后的 syste/etc/recovery-resource.dat 文件的sha1 校验码失败

原因分析

第一次烧录到机器里的软件只经过了全编,而没有进行 make otapackage,而制作增量包的base.zip 是经过make otapackage的,这就导致的SHA1 校验码检查失败

全编过后的部分文件在经过 make otapackage后会发生改变.

问题解决


以后出给客户的软件是经过全编并且 make otapackage 的软件

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值