Android A/B System OTA 本地测试方法

纪录下本地测试OTA升级包是否正常的方法

一、部署升级包payload.bin方法升级

  1. 所需软件:HFS(网络文件服务器,用于生成一个升级包的地址)
  2. 升级包准备: 将payload.bin(argetfiles.zip解压得到)文件拖拽到HFS中,记住这个地址
  3. 升级命令
    payload.bin升级办法:
update_engine_client \
--payload=http://192.168.1.200/payload.bin \
--update \
--headers="\
FILE_HASH=a/e4wWHu8wfhRG0jbnba3HXpTi+5Xc4IL6atz09G1Ec=
FILE_SIZE=82639173
METADATA_HASH=FQ+EwmoT/DG3NfBJ2ynd9xzykqMiV14z4oIux7I5FzE=
METADATA_SIZE=495165
"

其中FILE_HASH,FILE_SIZE,METADATA_HASH,METADATA_SIZE均
均在payload_properties.txt文件中。

ota_file文件结构.png

二、部署整个压缩包升级包方法升级

update_engine_client \
--payload=http://192.168.1.200/full_0814.zip \
--update  --follow \
--offset=7985 \
--size=1096237091 \
--headers="\
FILE_HASH=fyDltdH3RkMxjJMLKWMU8SAkeWlnp+Dxb42jQpo30zc=
FILE_SIZE=1096237091
METADATA_HASH=72+DLYstrkKDp41oTV0xMCJtAIH5YAIs4Mw/4VSUXbY=
METADATA_SIZE=125561
"

和方法一不同的是需要获取offset值,该值的获取方式如下
通过python获取offset:

otazip = zipfile.ZipFile("full_0814.zip", 'r') 
payload_info = otazip.getinfo('payload.bin') 
payload_offset = payload_info.header_offset + len(payload_info.FileHeader()) 

三、其他:

  1. 抓取升级log
    adb shell logcat -s update_engine
  2. HFS软件截图
    HFS.png

    3.升级过程HFS截图
    升级过程HFS截图.png

你可能感兴趣的:(Android A/B System OTA 本地测试方法)