OTA升级包制作

1.差分升级

差分包(版本A差分升级到版本B,要先分别制作版本A的资源包A,和版本B的资源包B)的制作步骤

source build/envsetup.sh 
lunch
MULTILANGUAGE_SUPPORT=true make



在device/sprd/工程/modem_bins(无此目录请新建)下放入wcnmodem.bin/wcnnvitem.bin/wdsp.bin/wmodem.bin/wnvitem.bin这五个文件

wcnmodem.bin ------> SC8800G_x30g_wcn_dts_modem.bin(将此重命名为wcnmodem.bin)

wcnnvitem.bin   ------> nvitem_wcn.bin(将此重命名为wcnnvitem.bin

wdsp.bin            ------> DSP_DM_G2.bin(将此重命名为wdsp.bin

wmodem.bin     ------> SC7702_sc7731g_band128.bin(将此重命名为wmodem.bin

wnvitem.bin       ------> nvitem.bin(请注意是1+5 or 1+8  or 2+5等)(将此重命名为wnvitem.bin



MULTILANGUAGE_SUPPORT=true make otapackage //一定要在 make otapackage之后再打pac,否则可能造成后期差分升级失败

执行完make otapackage之后,会在out/target/product/工程/obj/PACKAGING/target_files_intermediates/xxx.zip(xxx.zip就是所需要的资源包)



按照如上步骤分别制作出资源包A(以A.zip表示)和资源包B(以B.zip表示)后,将A.zip和B.zip拷贝到源码根目录下后,执行:

build/tools/releasetools/ota_from_target_files -i A.zip -k build/target/product/security/testkey B.zip update.zip(update.zip即为差分升级包)

 

将update.zip拷贝到T卡根目录下,就可以通过“设置-》关于平板电脑-》系统软件升级"将版本A升级到版本B

 

调试技巧:

如升级过程中提示失败,这时候需要提供cache/recovery/下的log,user版本请按照张总整理的\\192.168.1.104\software\展讯7731平台USR版本获取root权限.rar后,

导出cache/recovery/下的log

 

2.全包升级:

步骤和差分升级大致相同,执行完make otapackage之后,会在out/target/product/工程/xxx-ota-xxx.zipxxx-ota-xxx.zip就是所需要的升级包,重命名为update.zip拷入T卡后执行升级即可)

 

E:signature verification failed,这个就是一般就是的key不一样导致:
这种情况多半是版本编译时使用的签名key和编制ota升级包时使用的key不匹配造成的。
可以先查一下build/core/Makefile里面定义的BUILD_KEYS具体是使用的哪个key,然后再确定在编制ota升级包的时候如下命令中的-k后边用的keytestkey或是releasekey,如果不匹配,用匹配的key重新做包,即可解决。

./build/tools/releasetools/ota_from_target_files-i <
基础版本target文件> -kbuild/target/product/security/testkey  <目标版本target文件> <差分升级包文件>

### 创建 Android OTA 更新包 #### 准备工作 为了成功创建一个适用于Android设备的OTA更新包,开发者需准备以下几项资源: - 完整的目标文件系统镜像(用于全量更新) - 前后两个版本的应用程序包(.apk)或其他组件的具体差异(针对增量更新) 这些材料对于确保最终生成的OTA包既有效又安全至关重要。 #### 工具需求 构建过程依赖于一系列特定工具和技术栈的支持,主要包括但不限于: - `build-tools`:这是Android SDK的一部分,包含了编译APK所需的各类命令行工具。 - `signapk.jar`:用来签署OTA包,保证其真实性和完整性[^4]。 - `ota_from_target_files.py`脚本:此Python脚本负责处理目标文件并打包成可用于空中下载(OTA)分发的形式[^2]。 #### 构建流程概述 当一切就绪之后,可以按照下面的方法来进行操作: 1. 使用`soong_ui.bash dist`指令启动整个项目的重新编译,这会触发所有必要的子模块按顺序执行直至产出完整的固件映像。 2. 运行`ota_from_target_files.py`,指定源码树中的路径参数以指明待比较的老版和新版image位置。该步骤将自动生成描述两者之间变化的日志记录,并据此组装出适配不同场景下的升级方案——既可以是完整替换式的full update package,也能形成仅含变动部分的delta patch file。 3. 对产生的未签名OTA ZIP实施数字签名动作,借助Java提供的JAR实用程序加载预置好的私钥证书完成这一环节的工作。注意这里强调的是采用之前提到过的发布密钥来保障后续验证机制得以顺利运作。 4. 将已妥善封装完毕并通过校验无误后的成品上传至服务器端等待下发给终端用户群体接收安装即可结束全部作业。 ```bash # 执行项目整体重建 $ soong_ui.bash dist # 调用 Python 脚本生成 OTA 包 $ python ota_from_target_files.py old_image_path new_image_path output_ota_package.zip # 应用 JAR 实用程序为 OTA 包添加签名 $ java -jar signapk.jar certificate.pem key.pk8 output_ota_package.zip signed_output_ota_package.zip ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值