Android OTA升级包制作和验证

Android OTA升级包制作与验证指南
本文介绍了Android OTA升级包的制作过程,包括整包升级和增量升级的概念。完整升级包适用于任何系统升级,而增量升级包仅限于特定版本间的升级。制作过程中涉及到的命令和文件操作进行了说明,并提到了升级验证步骤,如将升级包push到指定目录,以及在遇到问题时如何通过日志进行排查。最后,文章提供了相关参考资料。
几个概念

**整包升级:**即整个Rom的数据都升级,所以升级包较大,但对要升级的目标系统的版本没有限制

**增量升级:**即只升级有变化的部分,所以升级包较小,但只能针对做比对的俩个系统版本之间来升级。


【完整升级包】:全量包,可直接用于整包升级使用。make otapackage命令后,会生成到out/target/product/{product_name}/{product_name}-ota-eng.{name}.zip

【原始升级包】:过程包,该包会包含更详细的信息。make otapackage命令后,会生成到out/target/product/{product_name}/obj/PACKAGING/target_files_intermediates/{product_name}-target_files-eng.{name}.zip

【增量升级包】:差分包,以俩个【原始升级包】为比较基准,生成的升级包。


制作升级包
  • 制作完整包

    source build/envsetup.sh
    lunch xxx
    make -j16  #编译完后,会在out目录下生成刷机文件(假设叫 a系统)
    make otapackage #生成系统升级包(假设【原始升级包】叫a_src,【完整升级包】叫a_upt)
    

    make otapackage成功后,就会生成【原始升级包】a_src和【完整升级包】a_upt。其中【完整升级包】a_upt即可作为全量升级使用。

    这样,一个【完整升级包】a_upt.zip,就制作完成了,该包可用于任何系统来升级使用。

    PS:之前,看网上有通过命令来生成【完整升级包】的,我试了下发现两者其实是一样的:

    # new_upt.zip 与 a_upt.zip 是一样的
    ./build/tools/releasetools/ota_from_target_files  a_src.zip  new_upt.zip
    

  • 制作差分包

    首先,简单修改下代码,如添加一个Toast弹出。

    然后,再次编译:

    make -j16  #编译完后,会在out目录下生成刷机文件(假设叫 b系统)
    make otapackage #生成系统升级包(假设【原始升级包】叫b_src,【完整升级包】叫b_upt)
    

    如果,想要做 a系统b系统 的增量升级的话,则可以通过 a_srcb_src 作为比对基准,来生成两个系统间的差分包:

    #参数 -i 是用来生成差分包的
    ./build/tools/releasetools/ota_from_target_files -i a_src.zip  b_src.zip  diff.zip
    

    这样,一个【增量升级包】diff.zip就制作成功了。该包只能用于 a系统升级到b系统 使用。


这个问题有这么几个原因:一、SELinux权限的问题。二、升级包

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值