进入Android源码目录下执行如下命令来初始化环境变量:source build/envsetup.shlunch其中,lunch命令运行后会要求选择所要编译的产品名。
编译生成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版本的临时目标文件。
验证Recovery升级:将上述ZIP包复制到内部存储的任一可写目录下,假设我们的ZIP包复制到/cache目录下,文件名为ota.zip,那么接下来我们只需要再执行echo '--update_package=/cache/ota.zip' > /cache/recovery/command命令,然后再执行reboot recovery命令即可重启进入Recovery模式进行升级验证。