安卓FOTA升级

2023-09-18  本文已影响0人  勇敢的心15

什么是FOTA

FOTA升级是指通过无线网络对设备进行升级的技术。FOTA是Firmware Over-The-Air的简称,翻译成中文为“空中固件升级”。通过FOTA升级,设备的固件可以远程升级,无需人工干预,可以提高设备的稳定性和可靠性。

FOTA升级流程

FOTA流程

升级流程说明

1.设备开机后,请求固定地址,获取升级配置文件;
2.根据升级配置文件,匹配升级配置,确认本机是否需要升级,设置升级方式(如是否强制升级,是否静默升级);
3.确定需要升级后,根据升级包地址下载升级包,完成升级

注意事项及问题

1.升级策略配置,需要能够满足各种升级要求,能够轻松控制各设备的升级情况,要求至少可配置地区,mac地址(范围),目标版本号。
2.升级过程中断,需要有容错机制,下次开机提醒用户继续升级。
3.支持断点续传。

差分包升级

差分包升级也就是增量更新,是一种将旧版本系统镜像与新版本系统镜像进行比较,提取出不同之处,并生成一个小差分包来更新系统的方法。这种差分更新方法可以显著减少更新包的大小和下载时间,并减少对带宽和存储资源的占用。

步骤

遇到的问题

  1. OTA文件目录问题,我这边需要放到源码工程目录外,否则找不到,不同源码版本可能目录要求不一样,具体根据错误提示修改即可
  2. 执行差分包命令时报错:RuntimeError: Downgrade detected based on timestamp check: pre: 1666250183, post: 1665538833. Need to specify --override_timestamp OR --downgrade to allow building the incremental. 原因时我systemB.zip升级包是先生成的,升级包时间校验不通过,这种情况按正常顺序生成升级包时不会出现,或在生成systemB.zip前先执行命令 find out/ -name *.prop | xargs rm -rf
  3. 升级过程报错。升级到一半出错,出现了机器人躺下的界面,查看升级日志cache/recovery/last_logo,发现有疑是文件检验不通过之类的错误,网上说原系统的system文件不能被修改,我这里为了测试确实修改了一个apk,重新来还是失败,在日志中发现remount time :1的字样,应该是不能remount系统,重来之后升级成功过,systemB新增的文件成功添加到新系统。差分包升级完成。
上一篇下一篇

猜你喜欢

热点阅读