Android源码下制作OTA包及验证

当我们拿到一份Android源码后,要如何制作OTA升级包(实质上是Recovery升级的ZIP包,OTA升级是基于Recovery的机制再加上下载ZIP包和ZIP包版本管理等功能实现)呢?

方法/步骤

  1. 进入Android源码目录下执行如下命令来初始化环境变量:

    source build/envsetup.sh

    lunch

    其中,lunch命令运行后会要求选择所要编译的产品名。

  2. 编译生成OTA包(前提是Android需先完整编译过一次,即make过一次)

           make otapackage

    执行上述命令后,会生成out/target/product/XXX/YYY-ota-eng.guochongxin.zip和out/target/product/XXX/obj/PACKAGING/target_files_intermediates/YYY-target_files-eng.guochongxin.zip两个后期需要使用到的包,其中前一个为完整升级包,后一个为后期制作增量升级包时的对比包,那么如何制作增量升级包呢?假如系统里的软件是A版本,然后我们刚使用make otapackage命令制作了B版本,此时我们可以在之前保留的A版本的临时目标文件基础上制作增量包,过程如下:

           ./build/tools/releasetools/ota_from_target_files -v -i A-target_files-eng.guochongxin.zip out/target/product/XXX/obj/PACKAGING/target_files_intermediates/YYY-target_files-eng.guochongxin.zip YYY-eng.guochongxin_incremental.zip

           执行上述命令后,会在当前目录下生成YYY-eng.guochongxin_incremental.zip增量包,其中A-target_files-eng.guochongxin.zip为A版本的临时目标文件,而YYY-target_files-eng.guochongxin.zip为刚编译好的B版本的临时目标文件。

  3. 3

    验证Recovery升级:将上述ZIP包复制到内部存储的任一可写目录下,假设我们的ZIP包复制到/cache目录下,文件名为ota.zip,那么接下来我们只需要再执行echo "--update_package=/cache/ota.zip" > /cache/recovery/command命令,然后再执行reboot recovery命令即可重启进入Recovery模式进行升级验证。

猜你喜欢

转载自blog.csdn.net/pan0755/article/details/113180468