用途:下载 OpenHarmony 每日构建镜像并烧录到真实设备(DAYU200/RK3568 或其他),脚本通用,不绑定特定仓库或设备。
主要能力:download_daily.py 查询 DCP API,下载并解压设备镜像;flash_device.py 解析 parameter.txt 获取分区,通过 hdc updater 模式烧录。
使用方式(按顺序执行,不可跳过连通性检查):
- 验证设备连通:hdc list targets 应至少显示一个设备序列号;SSH 隧道场景需 SSH 与 hdc 均成功。记录当前固件版本:hdc shell param get const.product.software.version。
- 下载镜像:python3 "$SKILL_DIR/download_daily.py" --component dayu200,完成后脚本校验压缩包完整性。
- 烧录:确认设备可达、镜像已解压(system.img 存在)、用户明确同意破坏性操作后执行 python3 "$SKILL_DIR/flash_device.py" --img-dir daily_build --yes;未获批准时让脚本交互确认 FLASH。烧录中不可中断,否则设备可能无法启动。
- 验证:重启约 60 秒后再次读取 const.product.software.version 与步骤 1 对比。
- 可选推送自定义库:hdc shell mount -o rw,remount /,再用 hdc file send 发送 .so 到 /system/lib/,最后 hdc shell reboot。
SSH 隧道:脚本需运行在通过 USB 连接开发板的机器上,可先 scp 上传脚本再远程执行;建议用 nohup 或 tmux/screen 防止 SSH 断开导致烧录中断,SSH 中断时不要立即断电。
恢复:烧录失败可尝试 updater 模式(开机时按住 Vol+/recovery),或用 Rockchip 的 RKDevTool(Windows)/upgrade_tool(Linux)在 maskrom/loader 模式刷写完整镜像。
限制与注意:正常模式分区只读会导致 dd 静默失败,必须用 updater 模式;userdata.img 最后烧录,需先 umount /data;DCP 日期格式为 YYYYMMDDHHMMSS,缺失时自动搜索 7 天;推包后服务不启动通常因 IDL 接口变化,需全量刷机;脚本默认 SSH 端口 2222,连接失败会提示用户确认端口。