开发平台基本信息
芯片: MSM8953_64
版本: Android 10
kernel: msm-4.9
问题描述
设备在调试OTA升级功能的时候,制作OTA全量包测试升级功能,升级正常;然后,测试差分包升级失败了;以前差分包升级失败有以下几种可能:
- 签名不一致,例如固件编译用的是test key,而制作差分包用了release key
- 固件是直接用的out目录生成的文件制作的,正常是要用make dist生成的img的压缩文件中的system跟vendor两个镜像烧录的固件才能进行OTA升级
这两种坑都排除了,因为这个打包脚本我在其他平台上都用过很多了,肯定是没有问题的;只能把设备中recovery升级的日志导出来看一下,是哪里出问题了;日志保存路径cache/recovery/;将日志导出来可以看到日志报了Failed to verify package compatibility的错误,具体日志如下:
[ 12.872568] I:Verifying package compatibility...
[ 12.915551] W:Cannot fetch /system/etc/vintf/manifest.xml: Cannot open /mnt/system//system/etc/vintf/manifest.xml: No such file or directory
[ 12.917319]

本文讲述了在开发过程中遇到的Android设备OTA升级失败问题,原因在于差分包缺少兼容性文件。通过排查,发现是由于BUILD_NUMBER设置固定导致的。解决方法是修改BUILD_NUMBER为包含时间戳,确保每次编译版本不同。
最低0.47元/天 解锁文章
3144

被折叠的 条评论
为什么被折叠?



