一、准备应用软件包
准备好应用软件包并完成自检,确保 APP 包满足以下要求:
1. APP包名
软件包中设置的应用包名必须与创建 HarmonyOS 应用时配置的包名一致。
2. APP包签名
在 DevEco Studio 中编译发布包时,签名使用的是发布证书和发布 Profile。
3. APP包大小不超过 4GB。
4. APP包中HAP包大小
上传 APP 包后,AGC 将解析检测 APP 包中的 HAP 包大小 ,并根据 HAP 包声明支持的设备类型判断 HAP 包大小是否满足条件。如 APP 包大小符合条件,但 HAP 包超过上限 ,系统会提示 HAP 包过大 ,无法成功上传 APP 包。
不同设备类型的 HAP 包大小限制:
| 设备类型 | HAP包大小上限 |
|---|---|
| 手机、平板或 PC/2in1 设备 | 不能超过 4GB |
| 智能手表、智慧屏 | 不能超过 2GB |
| 运动手表 | 不能超过 20MB |
单设备 vs 多设备的判断规则:
| 场景 | 规则 |
|---|---|
| 支持单设备的 HarmonyOS 应用软件包 | HAP 包大小不能超过对应设备类型的上限 。 例如,HarmonyOS 应用软件包仅支持运动手表,则 HAP 包不能超过 20MB |
| 支持多设备的 HarmonyOS 应用软件包 | • 如果 APP 包中的单个 HAP 包支持单个设备 ,则 HAP 包大小不能超过对应设备类型的上限 • 如果 APP 包中的单个 HAP 包支持多个设备 ,则 HAP 包大小不能超过这多个设备类型上限的最小值 |
5. APP包中HAP包类型
应用包内所有 HAP 包都必须是非免安装类型,即:
| 应用模型 | 检查要求 |
|---|---|
| FA 模型 | 需保证每个 HAP 包的 src/main/config.json 文件中 installationFree 字段值均为 false |
| Stage 模型 | 需保证 AppScope/app.json5 文件的 bundleType 字段值为 app (无 bundleType 字段则默认为 app 类型) |
6. API Level
APP 包使用的 API Level ≥ 10。
7. APP包中内容
API Level ≥ 11 时,不可包含调试信息 ,检查包内所有 HAP/HSP 包的 module.json 文件,确保 debug 字段值不为 true。
另外:
app.json5 文件中的 label 值不得为空 ,且 Entry 同级目录下不得存在两个同名的文件夹或文件。
四、准备发布素材
| 准备项 | 发布中国大陆地区的应用 | 发布非中国大陆地区的应用 |
|---|---|---|
| 支持的语种,适配各语种的应用素材 | 涉及 | 涉及 |
| 为应用详情页准备应用图标、应用介绍截图和视频 | 涉及 | 涉及 |
| 隐私权限说明 | 涉及 | 涉及 |
| 隐私声明 | 涉及 | 涉及 |
| 电子版权证书 | 涉及 | 不涉及 |
| 应用版权证书或代理证书 | 涉及 | 不涉及 |
五、发布前自检清单
软件包检查项
| 序号 | 检查项 | 要求 |
|---|---|---|
| 1 | APP包名 | 与创建 HarmonyOS 应用时配置的包名一致 |
| 2 | APP包签名 | 使用发布证书和发布 Profile |
| 3 | APP包大小 | ≤ 4GB |
| 4 | HAP包大小 | 手机/平板/PC:≤4GB 智能手表/智慧屏:≤2GB 运动手表:≤20MB 多设备场景取最小值 |
| 5 | HAP包类型 | 非免安装类型 FA:installationFree = false Stage:bundleType = app |
| 6 | API Level | ≥ 10 |
| 7 | 包内内容 | API Level ≥ 11 时无调试信息(debug ≠ true) label 值不为空 Entry 同级目录无同名文件夹或文件 |
素材检查项
| 序号 | 检查项 | 适用地区 |
|---|---|---|
| 1 | 多语种应用素材 | 中国大陆 + 非中国大陆 |
| 2 | 应用图标、截图、视频 | 中国大陆 + 非中国大陆 |
| 3 | 隐私权限说明 | 中国大陆 + 非中国大陆 |
| 4 | 隐私声明 | 中国大陆 + 非中国大陆 |
| 5 | 电子版权证书 | 中国大陆 |
| 6 | 应用版权证书或代理证书 | 中国大陆 |
六、闭坑
-
HAP包大小是最容易踩的坑 :APP 包不超 4GB 不代表能上传成功,AGC 会逐个解析 HAP 包大小 ,超限直接提示"HAP 包过大"。特别是多设备场景 ,单个 HAP 支持多设备时,要取多个设备类型上限的最小值,别只看自己关心的那个设备。
-
免安装类型必须关闭:
-
FA 模型:
installationFree必须为false -
Stage 模型:
bundleType必须为app -
这两项不满足,包可能无法正常上架。
-
-
API Level ≥ 11 时不能带调试信息 :检查所有 HAP/HSP 包的
module.json,确保debug不为true,这是很容易被忽略的细节。 -
label不能为空 + Entry 同级不能有同名文件夹/文件:属于比较容易忽略的"小坑",打包前顺手检查一下。 -
隐私声明可以托管 :没有自有隐私政策网站的,可以提前用 AGC 的隐私声明托管服务生成。
-
建议先看三份材料:应用审核指南、应用审核 FAQ、上架检测 FAQ,这三份是了解上架规则的入口,能少走弯路。
