系列收官篇。B19 搞定了包本身干净B20 搞定了应用内合规最后一步是把应用讲给应用市场和潜在用户听物料包。我们的物料不住在聊天记录和设计师的电脑里而是归档进仓库docs/release/appgallery/ ├── README.md # 物料包索引与状态 ├── listing.md # 市场文案定稿名称/简介/详细描述/分类 ├── icons-checklist.md # 图标核对清单 ├── screenshot-script.md # 截图脚本每张图对应的真实 UI 路径 ├── screenshots/ # 真机截图归档 └── store-icon-1024.png # 分层图标 1024 成品物料进仓库的意义和代码同源 review、同源演进市场文案改一个字也有 diff 可查。1. listing 的第一原则禁止夸大未交付能力listing.md文件头一行加粗与实现一致禁止夸大未交付能力。这不是套话——定稿过程中真的抓到一批品牌指南与市场草稿和实现的漂移每条都修了物料原写法真实现状处理语音识别支持离线/在线切换在线 ASR 未产品化删除该说法截图 #5「离线/在线开关」无此 UI改为隐私/关于页6 维度报告实际为 7 段结构改七段0 延迟本地即时非零改本地即时每说 30 字触发 AI 提示实为 30 UTF-16 code unit改为约按新增文本量级Key 仅内存已是 Asset 加密保存对齐 B15 口径这张表是物料工作最有价值的部分市场是产品承诺的放大器实现是承诺的预算。夸大的文案不是营销技巧是给自己签的欠条——审核打回算轻的用户按文案找不到功能给一星才是代价。注意漂移修正不只改物料还回写了品牌指南源文档——口径的修复要回到源头否则下一版物料又从错的源头长出来。详细描述里还有个成熟做法隐私与数据段落直接复述技术事实本地词库分析、历史存应用沙箱约 50 条无音频、Key 系统保险箱保存可清除——B20 的结论合规文案是技术决策的复述。市场文案、隐私政策、实现三者同源审核问任何一处都答得上来。2. 图标与截图鸿蒙的规格与传统坑分层图标。鸿蒙的应用图标不是一张平图而是前景层 背景层的分层结构系统桌面、主题引擎会按层做动效和裁剪圆角、描边、深色底适配都是系统按层处理的。工程内对应AppScope/resources/base/media/下的前景/背景图加 layered 声明市场上传的 1024×1024 成品同样按这个心智准备——前景主体居中留出安全区背景层可以铺满千万别把带圆角和阴影的成品效果图当源图交上去系统再裁一次就双重圆角了。我们配icons-checklist.md逐项核对尺寸、分层、无拉伸、深浅底都试过。图标是用户在市场的第一眼但也是纯视觉活清单化之后核对五分钟搞定。截图。规格按 AGC 当期要求张数下限、分辨率比例、手机/平板分端准备两个实操建议一是用真机截图不用模拟器——状态栏、字体渲染、HDS 组件的细节在真机上才是用户真实看到的样子二是注意状态栏卫生电量、时间、通知图标在 5 张图里尽量统一这是细节但市场截图本质是橱窗。流程上我们不写截图 5 张就完事而是screenshot-script.md——每张图对应真实的 UI 路径首页 ST-01 点哪里进入、什么状态下能看到这个画面、要不要先配置 Key。截图脚本的价值换版本要重拍截图时任何人照着脚本都能复现同一批画面验收时也能核对图里的功能是不是真的存在。3. AGC 后台鸿蒙特有的几个表单项物料备齐后进 AppGallery Connect 后台有几处是鸿蒙应用特有的关注点应用类型别选错AGC 里HarmonyOS 应用与元服务原子化服务是两种形态——元服务免安装、有包体和入口限制走完全不同的分发路径。我们是标准应用创建时选 HarmonyOS 应用这个选择影响后续所有表单项选错没有后悔药。bundleName 创建即锁定后台创建应用时填的包名必须与AppScope/app.json5的bundleName一字不差上架后不可改B19 的核对清单在这兑现。上传的是 App Pack.app不是 hdc 装的那个 HAP。本地assembleApp出包、记录 hash、后台上传versionCode单调递增由后台强制校验。内容分级问卷按实际内容如实填教育类工具通常很低龄向分级结果会显示在市场页。隐私声明表单后台要逐项声明收集哪些数据、用途、是否共享第三方。这张表必须与应用内隐私政策B20同源对照填写——审核会比对表单声明、隐私政策文本、应用内实际行为三处任何一处对不上都是打回项。我们的答案之所以好填是因为架构里数据根本不出沙箱、唯一的网络出口是用户自配 Key 的 AI 调用表单上大片否。合规友好的架构在填表时才开始分红。4. 缺项的诚实姿势已知问题不是假装完成物料包关单时有一个真实的缺口5 张真机截图需要项目方在真机上补拍研发侧交付不了。处理方式不是 P 图凑数、不是用模拟器图冒充而是缺口登记为已知问题KI-01截图可上架前再补关单条件里写明5 张真机图为独立验收通过条件由项目方明示豁免后才关单豁免事实连同日期写进任务单状态截图经项目方 2026-07-16 明示豁免。缺口可以被豁免但豁免必须显式、留痕、有授权人。这个流程看起来繁琐它防的是软件工程最贵的病大家心照不宣地把未完成当成完成。5. 门禁兜底物料也有静态检查物料包配了check-p7-appgallery-assets.sh 14 个 mutation归档文件齐全、listing 里的版本/bundle/vendor 与app.json5一致B19 的同源原则延伸到文案、禁止词扫描示例占位、夸大表述黑名单、截图脚本引用的 UI 路径真实存在。市场文案漂移进门禁和代码红线同等待遇。6. 提交流程速查RC 标签管理候选speaklab-1.0.0-rc.N干净重建 SHA-256 记录B19真机 RC 矩阵回归静态门禁不替代真机物料核对listing 门禁绿、图标分层清单 PASS、截图补齐KI-01 关闭assembleApp出 App Pack记录 hash后台创建/核对应用HarmonyOS 应用、bundleName 一致后台填写名称/分类建议教育/内容分级/隐私声明表单——与应用内隐私政策同源对照versionCode 递增提交等待审核打回按意见改文案类问题先改源头文档再改物料7. 系列结语到这里《鸿蒙实战手记》21 篇走完了一个应用从空白工程到上架的完整链路第 1 章B01–B03工程骨架、Debug/Release 物理隔离、启动装配——地基打在哪楼就盖多高第 2 章B04–B06导航壳层、语义主题、富文本——UI 的一致性来自纪律不是审美第 3 章B07–B09词库加载、算法移植、持久化分层——数据是资产按成本分层管理第 4 章B10–B12ASR、权限、生命周期——系统能力的正确姿势是边界 隔离 fail-closed第 5 章B13–B15HTTP 调用层、Prompt 契约、Key 安全——AI 功能工程化不确定性只留给模型文采第 6 章B16–B18测试纪律、门禁、变异测试——验证手段本身也要被验证第 7 章B19–B21发布卫生、最小合规、物料上架——把完成定义成有证据的事。如果只能带走一句话把每一条重要的规矩都变成可执行、可验证、可留痕的东西——注释、脚本、门禁、契约、hash。记忆会褪色团队会换血但被脚本守住的规矩不会。祝你上架顺利。