HarmonyOS7 应用发布:签名打包与上架全流程配置
文章目录
前言
代码写完了,怎么变成用户能装的 app?这中间有"签名 → 打包 → 上架"三步。新手最容易在签名这步卡住——“为啥我打包报错说证书不对?”
这篇文章把发布全流程走一遍,重点讲清签名证书怎么配、打包要注意什么、上架要准备啥。照着做,你能把 app 从代码变成可安装的包。

第一步:准备签名证书
HarmonyOS app 必须签名才能安装/上架。签名分两类:
| 类型 | 用途 | 获取 |
|---|---|---|
| 调试证书 | 本地真机调试 | DevEco 自动生成 |

| 发布证书 | 上架应用市场 | 华为开发者联盟申请 |
发布证书在华为开发者联盟后台申请,下载 .p12(证书)和 .p7b(Profile)文件。
第二步:在 build-profile.json5 配置签名
把证书信息写进工程配置:
代码实现
{
"app": {
"signingConfigs": [{
"name": "release",
"type": "release",
"material": {
"certpath": "release.p12", // 证书文件
"storePassword": "******", // keystore 密码
"keyAlias": "release", // 密钥别名
"keyPassword": "******", // 密钥密码
"profile": "release.p7b", // 发布 Profile
"signAlg": "SHA256withECDSA"
}
}],
"products": [{ "name": "default", "signingConfig": "release" }]
}
}
certpath/profile指向你申请的证书文件。- 密码等敏感信息别提交到公开仓库。
signingConfig绑定到 product,打包时用这个配置签名。
第三步:打包(Build App)
在 DevEco 里:Build → Build App(s)/Hap(s) → 选 release。或者用命令行:
核心代码

hvigorw assembleApp --mode module -p product=default
打包成功会生成 .app(或 .hap)文件,这就是可安装的包。注意:
- debug 包只能装到你自己授权的设备;release 包才能上架。
- 打包前确认
module.json5里的versionName/versionCode已更新(每次上架版本号要递增)。
第四步:上架应用市场
- 登录华为开发者联盟,进入"应用市场"控制台。
- 创建应用,填名称、分类、简介、截图、隐私政策链接。
- 上传打包好的 app 包。
- 提交审核,等待(通常 1~3 个工作日)。
- 审核过,正式上架。
审核常见被拒原因:权限理由写不清、隐私政策缺失、功能与描述不符、敏感权限滥用。提前把
module.json5的requestPermissions理由写清楚能省很多往返。
发布检查清单
- 签名证书正确配置(release)
- versionCode 比上一版大
- 所有权限都写了合理 reason
- 隐私政策链接有效
- 图标、启动图齐全
- debug 日志已清理
常见误区(小白必踩)
| 误区 | 说明 |
|---|---|
| 签名路径/密码错 | 证书文件、keystore 密码、profile 不匹配,打包直接报错。 |
versionCode 不递增 |
每次上架版本号必须比上一版大,否则传不上去。 |
权限 reason 写不清 |
审核常见被拒原因就是理由含糊,提前写清楚。 |
| 留 debug 日志 | 上线前清理调试日志,别泄露信息。 |
下面这段代码可以直接复制到 DevEco Studio 里运行。建议你边读边敲,改一改文末「动手改一改」里的参数,亲眼看看效果。
完整可运行示例:签名配置
在 build-profile.json5 配置签名,才能打出可安装的包。
完整示例
// build-profile.json5(节选 signingConfigs)
{
"app": {
"signingConfigs": [
{
"name": "release",
"type": "HarmonyOS",
"material": {
"certpath": "release.p7b",
"storePassword": "******",
"keyAlias": "release",
"keyPassword": "******",
"profile": "release.p7b",
"signAlg": "SHA256withECDSA",
"storeFile": "release.p12"
}
}
]
}
}
你会看到什么:配好签名后,Build > Build Hap(s)/APP(s) 能产出带签名的安装包;未配置签名则只能跑 debug,无法上架。
动手改一改:
- 在 DevEco 里用「自动生成签名」一键生成
material,再回填到文件。 - 区分
debug/release两套signingConfigs。 - 用命令行
hvigorw assembleApp --mode release打 release 包。
写在最后
发布就三步:配签名 → 打 release 包 → 上架审核。卡顿基本都在签名配置:证书路径对不对、密码对不对、Profile 是否匹配包名。
建议第一次发布前,先用 debug 证书在真机跑通,再换 release 证书打包。把上面的检查清单存好,每次发版对着勾一遍,基本一次过审。
更多推荐


所有评论(0)