1.6 KiB
1.6 KiB
标准收发器离线升级包最小样例
本目录提供 STANDARD_APP 离线升级包的最小示例骨架,用于对齐打包方、后端和联调流程。
目录结构:
standard-app/
├── manifest.json
└── payload/
└── scripts/
└── orchestrator.sh
说明:
- 本目录中的
manifest.json使用了占位符__PAYLOAD_SHA256__ - 真正打包前,需要先对
payload.zip计算SHA-256,再替换该字段 signature.sig不放在仓库示例里,必须由打包方使用“固件完整性密钥”私钥在打包阶段生成
推荐打包步骤:
- 进入当前示例目录
- 将
payload/压缩为payload.zip - 计算
payload.zip的SHA-256 - 用实际摘要替换
manifest.json中的__PAYLOAD_SHA256__ - 对
manifest.json原始字节生成signature.sig - 将
manifest.json、signature.sig、payload.zip压缩成最终upgrade-package.zip
参考命令:
cd docs/examples/upgrade-package/standard-app
zip -rq payload.zip payload
PAYLOAD_SHA256="$(shasum -a 256 payload.zip | awk '{print $1}')"
sed "s/__PAYLOAD_SHA256__/${PAYLOAD_SHA256}/g" manifest.json > manifest.generated.json
# 这里改为公司正式签名工具,生成 manifest.generated.json 对应的 signature.sig
# sign-manifest manifest.generated.json > signature.sig
zip -j upgrade-package.zip manifest.generated.json signature.sig payload.zip
联调时建议:
- 先用这个目录骨架做一个
STANDARD_APP预检样包 orchestrator.sh可以先只输出日志并返回0- 等预检、建任务、执行链路跑通后,再替换成真实升级脚本