recovery 升级时间戳校验

我们在recovery升级的时候,经常提示这样的错误:

Installing update...

Can't install this package (Tue Jun 27 12:29:30 CST 2017) over newer build (Mon Jun 26 17:20:32 CST 2017)

E:Error in /udisk/xxxx.zip

(Status 7)


意思就是,我们不能从新的版本升级到旧的系统,有个时间戳的比较。


我们来看看这个时间戳校验是怎么工作的:

我们发现在升级包的升级脚本中updater-script中有段校验:

(!less_than_int(1498537770, getprop("ro.build.date.utc"))) || abort("E3003: Can't install this package (Tue Jun 27 12:29:30 CST 2017) over newer build (" + getprop("ro.build.date") + ").");

原来就是在这里进行的时间戳校验。


我们继续寻找,这个校验是在哪里加上去的呢,我们在 build/tools/releasetools/ota_from_target_files 发现了如下:

def WriteFullOTAPackage(input_zip, output_zip):
  ......
  if not OPTIONS.omit_prer
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值