ota制作

本文详细介绍了Android OTA升级包的制作过程,包括ota_from_target_files、sign_target_files_apks和img_from_target_files等步骤。同时,讲解了执行OTA升级时的Android恢复出厂设置流程,以及Edify语法,如mount、format、delete等函数的使用。
摘要由CSDN通过智能技术生成

1.制作ota

make otapackage

自动模式下,执行ota_from_target_files时,
制作升级包的函数会调用edify_generator.py脚本里的函数去自动编写updater-script。而edify_generator.py里的函数和updater-script的语法规则是一一对应的

步骤
  • 1.make target-files-package
    otapackage和target-files-package 都是.PHONY伪目标
    生成 obj/PACKAGING/target_files_intermediates/XXX-target_files-XXX.zip
    包含
 BOOT    DATA     META  RECOVERY  OTA   SYSTEM  
 META/misc_info.txt
  • 2.make otapackage
    –block基于块的升级包,还是基于文件的升级包。
    -k 指定key 文件 -k build/target/product/security/releasekey
    BUILT_TARGET_FILES_PACKAGE 第一步生成的文件
    -i 表示后面紧跟的文件是旧版本的Target包,即 此命令是要生成增量升级包,而不是完整升级包
    ota_from_target_files --block -i origin.zip target.zip inc.zip
$(INTERNAL_OTA_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) $(DISTTOOLS)
        @echo "Package OTA: $@"
        @echo "./build/tools/releasetools/ota_from_target_files -v --block -p $(HOST_OUT) -k $(KEY_CERT_PAIR) $(if $(OEM_OTA_$
        $(hide) PATH=$(foreach p,$(INTERNAL_USERIMAGES_BINARY_PATHS),$(p):)$$PATH MKBOOTIMG=$(MKBOOTIMG) \
           ./build/tools/releasetools/ota_from_target_files -v \
           --block \
           -p $(HOST_OUT) \
           -k $(KEY_CERT_PAIR) \
           $(if $(OEM_OTA_CONFIG), -o $(OEM_OTA_CONFIG)) \
           $(BUILT_TARGET_FILES_PACKAGE) $@
ota_from_target_files
  • 解压输入的target文件
 print "unzipping target target-files..."
  OPTIONS.input_tmp, input_zip = common.UnzipTemp(args[0])

分析misc_info.txt ,SYSTEM/build.prop ,RECOVERY/RAMDISK/etc/recovery.fstab
文件内容以(k,v)键值对形式保存到OPTIONS.info_dict

  OPTIONS.target_tmp = OPTIONS.input_tmp
  OPTIONS.info_dict = common.LoadInfoDict(input_zip)
    d["fstab"] = LoadRecoveryFSTab(zip, d["fsta
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值