android 资源包更新失败,android 8 差分包升级失败

差分包制作过程:资源包 整包 差分包

资源包:\out\target\product\XXX\obj\PACKAGING\target_files_intermediates\XXX-target_files-???.zip

整包: \out\target\product\XXX\XXX-ota-???.zip

差分包:使用两个资源包制作,一般在android编译环境下执行

./build/tools/releasetools/ota_from_target_files -i old.zip new.zip diff.zip

其中old.zip和new.zip都是资源包,diff.zip就是差分包

以前使用的第三方的fota,只要编译资源包给第三方即可。这次自己制作差分包,升级失败,过程如下

1. 编译两个版本,执行makeotapackage,获得资源包 整包,在使用ota_from_target_files 制作差分包

2. 使用工具烧录编译的system.img boot.img等

3. 进入recovery升级差分包失败

4. 做实验,先进入recovery刷整包,再刷差分包成功

说明问题出现在工具烧录的版本和整包的内容不一致。

百度查到以下链接:

https://blog.csdn.net/qq_25804863/article/details/80538248

解决办法:

make otapackage后将资源包\out\target\product\XXX\obj\PACKAGING\target_files_intermediates\XXX-target_files-???.zip 中的 IMAGES/system.img解压出来替换 \out\target\product\XXX 下的system.img

可修改build目录下Makefile中的$(INTERNAL_OTA_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE),在该定义下执行sh脚本解压拷贝

你可能感兴趣的:(android,资源包更新失败)