news 2026/9/6 8:14:20

HarmonyOS 应用开发之应用上架与分发详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HarmonyOS 应用开发之应用上架与分发详解

应用上架与分发

一、引言

上一篇文章完成了签名与打包,本文继续回答"打包之后怎么办":如何把四个 HAP 送到不同设备用户手中。multi-short-video 没有真实的服务端与账号体系,但它的多 HAP 结构恰好是理解 HarmonyOS 应用上架与分发机制的绝佳样本——一个应用、四种设备、四份产物、一套发布策略。上架不是简单地把包传到后台点"发布",它涉及应用信息维护、版本号规划、审核合规、渠道选择、灰度与回滚等一系列决策,任何一个环节处理不当,都可能造成审核驳回、用户流失甚至线上事故。本文结合 AGC 平台流程,给出从应用创建、版本管理、审核到多渠道分发与灰度回滚的完整路径。

二、AGC 应用创建与基础配置

分发第一步是在 AppGallery Connect 创建应用。登录 AGC 控制台后选择"我的应用 → 新建应用",关键配置项如下:

配置项本工程建议值说明

应用包名com.example.multishortvideo必须与AppScope/app.json5中 bundleName 一致
应用名称多设备短视频AppScope/resources/base/element/string.json中 app_name 保持一致
应用分类影音娱乐影响应用市场类目与推荐位
语言中文(简体)可多选,对应工程内 zh_CN/en_US 资源
发布国家/地区中国影响合规审核要求

这里最容易踩的坑是包名不一致:AGC 上创建的应用包名必须与工程AppScope/app.json5bundleName完全一致,且后续不可修改(或修改成本极高),一旦发现填写错误,只能删除重建应用或申请修改。因此创建前务必先在工程里确认 bundleName,再动手建应用。

创建完成后需要维护应用的基础信息:图标(对应工程中AppScope/resources/base/media下的 layered_image 分层图标,注意图标需要 512x512 且不能带圆角,由系统统一裁切)、截图(真机截取的横竖屏截图,建议包含关键页面)、隐私政策链接与联系方式。对于多设备应用,还需按设备类型分别上传对应 HAP 的说明与截图——直板机截图体现竖屏沉浸播放,平板与电脑截图体现分栏布局,智慧屏截图体现焦点导航,手表截图体现精简交互,四类截图素材可在工程screenshots/device目录基础上加工。截图规范也要留意:不同设备类型对截图尺寸、数量有不同要求,上传前对照 AGC 的说明逐项核对,避免因截图不合格被驳回。

三、版本管理与发布策略

上架前先规划版本号。HarmonyOS 版本号体系由versionCodeversionName组成,本工程定义如下:

// d:\HarmonyOS\WorkSpace\multi-short-video\AppScope\app.json5 { "app": { "bundleName": "com.example.multishortvideo", "vendor": "example", "versionCode": 1000000, "versionName": "1.0.0", "buildVersion": "1" } }

versionCode是递增整数,仅用于系统比较大小(同一应用安装时后者必须更大);versionName是面向用户的展示版本。多 HAP 场景下,四个 HAP 的 versionCode 必须完全一致,否则按设备安装时系统会因版本不一致而拒绝更新。本工程 versionCode 使用"1,000,000"这种大整数写法,是给后续迭代留足余量(如 1.0.0 → 1000000、1.0.1 → 1000001),避免小步迭代很快撞上 2^31 上限或出现"版本号回退"的乌龙。

建议版本策略为:

  • 主版本迭代(1.0.0 → 1.1.0):新增功能,四个 HAP 同步发布;
  • 补丁版本(1.1.0 → 1.1.1):修复缺陷,同步更新;
  • 分设备独立小版本:仅在确有差异时使用,例如 TV 端单独修 Bug,可只上传 TV 的新版本 HAP,但 versionCode 必须高于所有设备上已安装的版本。

在 AGC"版本管理"页面上传 HAP 后,需填写版本更新说明(建议按设备形态分别撰写,突出该设备的体验改进),并选择发布阶段:内测(Beta)、正式(Production)、灰度(分批放量)。正式发布默认全量;灰度发布则按比例放量,常用于验证新版本在特定设备上的稳定性。需要特别提醒的是:上传到 AGC 的 HAP 必须是使用发布证书签名的包,调试证书签名的包在正式环境会安装失败,这是提审时最高频的返工原因之一。

四、应用审核要点

华为应用市场对应用进行自动化与人工双重审核,多设备应用重点核查以下方面:

  • 权限合规:逐项说明权限用途。本工程module.json5中声明的ohos.permission.DETECT_GESTURE属于受限权限,审核时需提供使用场景说明;若不需要应在上架包中移除。
  • 内容合规:短视频应用需审核示例视频素材的版权与内容导向。本工程 rawfile 中的9_16.mp416_9.mp4等均为演示素材,正式商用必须替换为自有版权内容,且应说明视频内容的管理与举报机制。
  • 隐私政策:应用内需提供可访问的隐私政策链接;若应用有网络能力(本工程无 INTERNET 权限则无需网络隐私声明),需补充数据收集说明,并做到"声明什么就收集什么"。
  • 多设备适配:审核方会抽样在手机与平板真机安装验证,需确保关键页面(推荐流、评论、个人作品页)无布局错乱、无黑屏、无功能缺失。
  • 版本一致性:四份 HAP 的 versionCode 一致、签名证书一致、应用图标与名称一致。
审核周期通常在 1~7 个工作日,驳回后根据驳回原因修改可重新提审。建议把审核要点前置:在提审前用上架自查清单(见第六节)逐项核对,用"一次通过"降低迭代成本。对于示例项目,最实际的准备工作是把 rawfile 中的演示视频、占位头像(ic_user01.png等)替换为合规素材,否则即使代码质量再高也会卡在内容审核。

五、多渠道分发与灰度回滚

除华为应用市场外,还可通过以下渠道分发:

渠道适用场景特点

华为应用市场(正式上架)面向公众覆盖广、需审核、可灰度
应用市场内测/众测小范围验证需审核但放量可控
企业分发(AppGallery Connect 企业证书)企业内网员工免应用市场审核,需企业实名认证
本地安装(hdc install)开发调试不受渠道限制,仅用于测试机

企业分发是 B 端场景的重要补充:使用企业证书签名的 HAP 可以绕过应用市场审核直接安装,适合政府、企业内部使用,但企业证书的申请要求更高(需要企业资质认证),且不能在未注册设备上安装,适用于"设备白名单"场景。若产品面向大众消费者,正规路径仍是应用市场。

灰度与回滚是线上发布的安全网。推荐"金丝雀"策略:先放量 1%~5% 用户,监控崩溃率与关键指标(启动失败率、播放失败率),无异常再逐步放量至 100%。回滚手段有两级:一是 AGC 控制台将版本下线,已安装用户不受影响;二是通过推送高版本修复包覆盖,因此务必保证versionCode单调递增,为回滚后的修复版本留出空间。灰度期间要重点观察分设备指标——本工程四类设备硬件差异大,手机端表现正常的版本在手表端可能因内存不足而频繁被杀,灰度监控必须按 deviceType 维度拆分统计。

灰度放量的节奏建议分三档:1%(探路,重点看崩溃与安装失败率)→ 10%(功能验证,看核心链路漏斗)→ 50%(稳定性验证,看性能与耗电),每一档停留 24~48 小时并输出一份分设备数据对比。放量期间 AGC 会自动收集崩溃栈与性能数据,务必在后台配置崩溃告警阈值(如单设备类型崩溃率 > 0.5% 即暂停放量),避免问题版本在放量窗口内扩大影响面。

发布只是起点,上线后的数据回收同样重要。建议在首个版本就埋好三类基础事件:安装事件(区分 HAP 类型,验证四端安装是否符合预期)、启动事件(含启动耗时,建立性能基线)、核心功能事件(视频起播成功率、评论打开率、作品页跳转成功率)。没有这些基线数据,后续每次发布的灰度判断都只能靠"感觉",无法量化。对示例工程而言,至少要把日志体系(common/multishortvideobase/src/main/ets/utils/Logger.ets)中的关键路径日志与上报通道打通,为灰度决策提供依据。

六、上架前自查清单

检查项本工程对应状态

包名、签名与 AGC 配置一致AppScope/app.json5 + 发布证书必查
四 HAP versionCode 一致各产品模块产物必查
权限最小化、受限权限已说明module.json5 requestPermissions必查
图标、截图、隐私政策齐备resources/base/media + 截图必查
演示素材版权确认resources/rawfile/*.mp4必查
深色模式、多语言资源完整dark / zh_CN / en_US 目录建议
发布说明按设备撰写AGC 版本管理建议
崩溃率/启动耗时基线已建立线上监控建议

自查清单建议沉淀为团队模板,并在每次提审前由发布负责人逐项打勾。示例工程中尤其要注意前四项:包名一致性、四端版本一致、受限权限说明、素材版权,这四项占了多设备应用驳回原因的大头。

七、总结与最佳实践

上架与分发是把工程能力转化为用户价值的最后一步,多设备应用尤其要警惕"版本碎片化"。核心经验:一份签名、一套版本、四份产物、统一节奏。签名与包名全局唯一,versionCode 全局单调递增并四端同步,HAP 按 deviceTypes 各归其位,发布节奏以设备形态为维度进行灰度与回滚。此外,把上架自查清单沉淀为 CI 检查脚本(自动比对四端 versionCode、自动校验签名指纹),能显著降低"临上架发现权限没删、截图没传"的返工成本。对示例项目而言,正式商用前务必替换演示视频与图标素材,完成隐私合规评审,再进入 AGC 提审流程——记住,审核驳回一次,迭代周期就拉长一周,前置自查永远比事后补救划算。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/5 12:36:02

Codex CLI与cron结合:自动化Git日报、代码审查与测试补充

各位做后端和 AI 工具集成的同学,今天想分享一个我最近特别上头的效率组合:Codex CLI 配合 cron 定时任务。说出来有点不好意思,以前我每天上班第一件事就是翻 git log,把昨天的提交整理成日报;每周还要留出时间做代码…

作者头像 李华
网站建设 2026/9/6 9:34:02

移动端自定义壁纸功能开发:解决背景变白与同时设置难题

大家好,我是专注于移动端开发与用户体验优化的技术博主。在日常使用和开发各类APP时,界面显示问题,尤其是像壁纸、主题这类直接影响用户第一印象的功能,一旦出现BUG,体验会大打折扣。最近,在“极核APP”的用…

作者头像 李华
网站建设 2026/9/6 10:50:02

chrome-devtools-mcp:给AI编程助手装上真实浏览器的“眼睛”

如果你正在用 AI 编程助手改代码、写单测,却总觉得“调试前端时 AI 帮不上忙”,那问题大概率不在模型能力,而在信息入口。现在的 AI 编程工具基本能理解代码、生成 diff,但遇到“页面为什么白屏”“接口数据为什么没渲染”“这个按…

作者头像 李华
网站建设 2026/9/4 8:53:54

盟接之桥EDI:赋能中国制造,桥接全球供应链

引言:制造业数字化转型的关键一步2026年,全球供应链一体化浪潮加速推进,制造业企业正面临前所未有的竞争压力。如何在确保产品质量的前提下,提升供应链协同效率、降低运营成本,已成为每一家制造企业不可回避的核心命题…

作者头像 李华
网站建设 2026/9/6 6:05:26

好未来秋招移动端笔试复盘:考点、踩分点与备考策略

2023年秋招,好未来移动端开发岗第二批笔试结束后,我陪几个投了这批岗位的同学做了一轮完整的复盘。那会儿大家最直观的感受是:明明刷了不少题,为什么一看到卷子还是觉得"会但不稳"?这种"不稳"不是…

作者头像 李华