52 lines
1.6 KiB
Markdown
52 lines
1.6 KiB
Markdown
# RECEIVER 离线升级包最小样例
|
|
|
|
本目录保留原有 `standard-app` 路径,便于继续联调,但样例内容已经切换到当前第一版 `RECEIVER` 升级包契约。
|
|
|
|
目录结构:
|
|
|
|
```text
|
|
standard-app/
|
|
├── manifest.json
|
|
├── build-package.sh
|
|
└── payload/
|
|
└── scripts/
|
|
├── execute.sh
|
|
├── precheck.sh
|
|
├── verify.sh
|
|
└── rollback.sh
|
|
```
|
|
|
|
说明:
|
|
|
|
- `execute.sh` 必填
|
|
- `precheck.sh`、`verify.sh`、`rollback.sh` 可选
|
|
- 本样例里四个脚本都给出,方便联调
|
|
- `signature.sig` 不放在仓库示例里,必须由打包方在打包阶段生成
|
|
- `build-package.sh` 会把 `manifest.json`、`signature.sig` 和 `payload/` 打成最终 `upgrade-package.zip`
|
|
|
|
推荐打包步骤:
|
|
|
|
1. 进入当前示例目录
|
|
2. 根据实际设备修改 `manifest.json` 中的 `productType`、`version`、`minCompatibleVersion`
|
|
3. 对 `manifest.json` 原始字节生成真实的 `signature.sig`
|
|
4. 执行 `./build-package.sh`
|
|
|
|
参考命令:
|
|
|
|
```bash
|
|
cd docs/examples/upgrade-package/standard-app
|
|
|
|
# 这里替换为正式签名工具,生成 manifest.json 对应的 signature.sig
|
|
# sign-manifest manifest.json > signature.sig
|
|
|
|
chmod +x build-package.sh
|
|
./build-package.sh
|
|
```
|
|
|
|
联调时建议:
|
|
|
|
- 先用这个目录骨架做一个 `RECEIVER` 预检样包
|
|
- 脚本可以先只输出日志并返回 `0`
|
|
- 等预检、建任务、执行、回滚链路跑通后,再替换成真实升级脚本
|
|
- 如果当前环境启用了真实密码卡验签,占位 `signature.sig` 无法通过预检
|