第98篇 | HarmonyOS 发布材料准备:README、截图矩阵、演示视频和技术亮点

训练营写到第98篇,已经不只是“写代码”。发布材料要能让评审、社区读者和未来维护者快速理解项目:它解决什么问题、跑通了哪些主流程、需要什么环境、隐私边界在哪里、截图和视频能证明什么。

这一篇从 README 出发,把发布材料拆成四类:项目说明、截图矩阵、演示视频、技术亮点。材料准备的标准不是堆很多截图,而是每一张图、每一段视频、每一个亮点都能对应到真实源码和真机路径。

本篇目标

  • 整理 README 的主流程、环境、构建命令和体验顺序。
  • 建立截图矩阵,覆盖相机、相册、地图、保险箱、视频、分享。
  • 把演示视频脚本和源码能力对应起来。
  • 准备社区同步时可复用的摘要、标签和技术亮点。

对应源码位置

  • superImage/README.md
  • superImage/scripts/agc_publish.ps1
  • superImage/entry/build-profile.json5

README 先讲清楚项目闭环

README 的第一段说明 superImage 是面向 HarmonyOS NEXT 的双摄记忆应用,把相机、位置、地图、相册、保险箱和 ARK 能力串成链路。发布材料的第一任务就是让读者在一分钟内知道项目不是孤立功能拼贴。

主流程列表也很重要:双摄拍摄、本地落盘、离线图解、地图记忆、去年今日、保险箱、在线 ARK、导出相册、系统分享、碰一碰分享。它们可以直接转成演示视频的章节。

发布材料要让项目闭环、运行证据和技术亮点互相支撑

发布材料要让项目闭环、运行证据和技术亮点互相支撑

# superImage

`superImage` 是一个面向 HarmonyOS NEXT 的双摄记忆应用。它把相机拍摄、位置记录、地图沉淀、公开相册、隐私保险箱,以及火山引擎 ARK 的内容解析、美文生成和图生视频能力串成了一条完整链路,让“拍下当下”这件事可以继续沉淀、整理和再次加工。

## 当前已跑通的主流程

1. 双摄拍摄
   优先尝试前后摄并发拍摄;设备不支持并发时,自动回退为顺序双拍。
2. 本地落盘
   拍到的照片会保存到应用沙箱目录,保证无网时也能完成采集和浏览。
3. 离线首版图解
   新拍内容会立即生成一版本地 AI 图解和视频提示词,不依赖 ARK API Key 也能使用。
4. 地图记忆
   拍摄时绑定定位信息,地图页会按真实记录聚合成记忆点。
5. 旧地感知与去年今日
   回到曾经拍摄过的地点附近时,会自动推荐对应旧地记忆;若命中同月同日的历史公开照片,会直接弹出“去年今日”提醒。
6. 隐私保险箱
   公开相册和私密内容分层管理,私密内容需要生物认证后查看。
7. 在线 ARK 能力
   支持保存 API Key、清除本地 Key、发起在线内容解析与美文生成、创建视频任务、刷新任务状态,并在下次启动时恢复未完成任务。
8. 导出到系统相册
   支持通过系统创建对话框把当前记录中的照片导出到系统相册,无需额外写图库权限。
9. 视频结果转存
   ARK 视频任务成功后,支持复制临时视频链接,也支持先下载到应用沙箱再导出到系统相册。
10. 系统分享
   公开相册、保险箱照片和生成视频都支持直接拉起系统分享面板,发送到目标应用或设备。
11. 碰一碰 / 隔空分享
   支持设备上会自动注册碰一碰与隔空传送监听,当前公开照片可以直接发送到附近 HarmonyOS 设备,不支持时自动回退到系统分享。

## 开发环境

- DevEco Studio 6.1+
- HarmonyOS SDK `6.1.0(23)`
- 建议使用真机调试,相机并发能力请以真机 `getCameraConcurrentInfos` 返回结果为准

构建命令和产物路径要可复现

发布材料里必须写清楚 DevEco Studio、SDK 版本、构建命令和产物路径。这样读者或评审拿到仓库后,可以按同一条命令复现 HAP 产物。

如果只写“已完成构建”,但没有命令、环境和产物位置,后续别人很难判断失败来自环境、签名还是代码。

构建命令和产物路径是发布材料的一部分

构建命令和产物路径是发布材料的一部分


## 构建命令

```powershell
& 'C:\Program Files\Huawei\DevEco Studio\tools\hvigor\bin\hvigorw.bat' assembleHap -m module -p product=default -p module=entry -p debuggable=true --no-daemon
```

构建产物默认位于:

```text
entry/build/default/outputs/default/entry-default-signed.hap
```

发布前逐项验收可直接参考 [`doc/发布前真机验收清单.md`](doc/发布前真机验收清单.md)。

## 体验顺序

1. 安装应用并授予 `CAMERA`、`LOCATION`、`ACCESS_BIOMETRIC`、`INTERNET` 权限。
2. 进入相机页,完成一次双拍或顺序双拍。
3. 到相册页查看自动生成的本地图解。
4. 如需在线能力,在相册页录入 ARK API Key。
5. 选中一条公开记忆后,可继续发起在线图解分析、视频任务或导出到系统相册。
6. 到地图页验证拍摄点是否已沉淀为真实记忆点。

发布脚本要把私有参数外置

AGC 发布脚本读取 AGC_CLIENT_IDAGC_CLIENT_SECRETAGC_APP_ID 等环境变量。这种写法比把私有参数写进脚本更适合长期维护和开源。

发布材料可以说明脚本需要哪些环境变量,但不要填入真实值。社区文章里也只写变量名和作用,避免把凭据泄露到文章内容中。

发布脚本说明变量名和流程,不暴露真实 AGC 凭据

发布脚本说明变量名和流程,不暴露真实 AGC 凭据

Require-Value "AGC_CLIENT_ID" $ClientId
Require-Value "AGC_CLIENT_SECRET" $ClientSecret
Require-Value "AGC_APP_ID" $AppId

if ([string]::IsNullOrWhiteSpace($PackagePath)) {
  if ($SkipBuild) {
    throw "AGC_PACKAGE_PATH is required when -SkipBuild is used."
  }
  $PackagePath = Invoke-HvigorBuild
}

$package = Get-Item -LiteralPath $PackagePath
$suffix = $package.Extension.TrimStart(".").ToLowerInvariant()
if ([string]::IsNullOrWhiteSpace($suffix)) {
  throw "Cannot infer package suffix from $PackagePath"

截图矩阵要覆盖状态而不是只覆盖页面

截图矩阵不应该只有“首页、相册、地图”三张图,还要覆盖加载态、空态、权限拒绝、保险箱锁定、视频生成中、分享面板、导出成功等状态。状态截图能证明异常路径和边界体验被认真处理过。

演示视频脚本建议按用户路径写:打开应用 -> 拍照 -> 相册查看 -> 在线图解 -> 地图记忆 -> 保险箱 -> 导出/分享。每一步配一张源码或配置截图,材料就不会显得像纯展示。

截图矩阵要覆盖页面状态、发布配置和关键工程路径

截图矩阵要覆盖页面状态、发布配置和关键工程路径

社区同步时可以复用同一套摘要结构:一句项目价值、三条技术亮点、一条真机验收路径、一条隐私边界说明。这样博客和社区读者看到的信息是一致的。

工程验收表

检查项 通过标准
README 项目价值、主流程、环境、构建命令、体验顺序齐全。
截图矩阵 核心页面、空态、异常态、隐私态、分享态都有证据。
演示视频 视频按用户路径讲,不只按代码模块堆功能。
社区同步 摘要、标签、技术亮点和隐私说明在多平台保持一致。

真机复测口令

发布材料验收按“三件套”走:README 能让别人跑起来,截图矩阵能证明关键状态,演示视频能串起真实用户路径。只要某一项缺失,评审看到的就不是完整项目,而是一堆互不关联的素材。

最后再检查一次证据链:本地 Markdown 结构完整,正文图片能正常显示,构建命令和产物路径可复现,社区摘要与文章主题一致,截图没有暴露密钥。发布材料不是包装,而是让别人能复现你的工程闭环。

今日练习

  1. 按 README 从零执行一次构建命令,确认产物路径存在。
  2. 按“成功态、空态、加载态、拒绝态、失败态”补齐截图矩阵。
  3. 把演示视频脚本改成用户路径,而不是功能列表。
Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐