应用开发完成后,最后一步就是将应用发布到应用市场。HarmonyOS通过数字证书与Profile文件来保证应用的完整性,应用上架必须通过签名校验。
一、版本说明
| 版本 | 发布方式 |
|---|---|
| 26.0.0 Beta1及以上 | 编译构建后上传AGC,DevEco Studio自动重新签名(支持云管理证书) |
| 26.0.0 Beta1以下 | 手动准备密钥/证书/Profile,手动签名后上传 |
二、26.0.0 Beta1及以上版本
2.1 编译构建.app文件
注意:应用上架时,要求应用包类型为Release类型。
操作:Build → Build Hap(s)/APP(s) → Build APP(s)
构建模式:
| 构建模式 | APP包 | HAP/HSP/HAR包 |
|---|---|---|
| <Default> | Release模式 | Debug模式 |
| debug | Debug模式 | Debug模式 |
| release | Release模式 | Release模式 |
编译构建完成后,在工程目录build/outputs/{product}下获取应用包。
2.2 上传软件包
| 限制 | 说明 |
|---|---|
| 地区 | 仅支持中国境内(港澳台除外) |
| 信息安全 | 勿上传密码、源代码、私钥等敏感信息 |
| 包路径 | 仅支持工程build/outputs目录下的软件包 |
操作步骤:
Build → Upload Product(如未登录点击Sign in登录)
选择需要上传的软件包,点击Distribute App
选择上传类型:
| 上传类型 | 说明 |
|---|---|
| AppGallery Connect | 使用云管理证书重新签名,上传用于测试和发布,同时上传符号表 |
| Testing Only | 使用云管理证书重新签名,上传用于测试,同时上传符号表 |
| Custom | 自定义上传配置 |
检查应用是否在AGC注册(未注册可在此创建)
选择签名管理方式:
| 方式 | 说明 |
|---|---|
| Automatically manage signing | 使用云管理证书自动签名 |
| Manually manage signing | 开发者自行配置签名信息 |
上传成功后,点击AppGallery Connect查看上传记录和检测结果
三、26.0.0 Beta1以下版本
3.1 发布流程
生成密钥和证书请求文件(.p12 + .csr) ↓ 在AGC创建应用 → 申请发布证书(.cer) + 发布Profile(.p7b) ↓ 在DevEco Studio配置签名信息 ↓ 编译构建APP包(.app) ↓ 上传软件包到AGC ↓ 发布到应用市场说明:
| 文件 | 格式 | 说明 |
|---|---|---|
| 密钥库文件 | .p12 | 包含非对称加密中的公钥和私钥 |
| 证书请求文件 | .csr | 包含公钥和开发者信息,用于申请数字证书 |
| 数字证书 | .cer | 由AppGallery Connect颁发 |
| Profile文件 | .p7b | 包含包名、证书信息、权限列表、调试设备列表 |
3.2 生成密钥和证书请求文件
DevEco Studio 6.1.0 Beta2及以上
Build → Generate Key and CSR
密钥库信息:
| 字段 | 说明 |
|---|---|
| Keystore Name | .p12文件名(字母/数字/下划线/中划线/句点) |
| Select file save path | 存储路径 |
| Key store Password | 密钥库密码(大小写字母+数字+特殊符号≥8位) |
| Alias | 密钥别名(需记住) |
| Validity(years) | 建议≥25年 |
CSR信息:
| 字段 | 说明 |
|---|---|
| CSR File Name | .csr文件名 |
| Select file save path | 存储路径 |
| First and last name | 通用名称(≤64字符,禁双引号/斜杠) |
DevEco Studio 6.1.0 Beta2以下
Build → Generate Key and CSR → 填写密钥库信息(与上方类似)→ 填写密钥信息(Alias、Validity等)→ 设置CSR路径 → 完成
3.3 申请发布证书和发布Profile
创建应用:在AGC创建HarmonyOS应用/元服务
申请发布证书:在AGC申请并下载.cer文件
申请发布Profile:在AGC申请并下载.p7b文件
说明:如果申请元服务的签名证书,"是否元服务"选项请选择"是"。发布证书和Profile只能用来打包上架,不能用来运行调试。
3.4 配置签名信息
File → Project Structure → Project → Signing Configs → default
| 字段 | 说明 |
|---|---|
| Store File | .p12密钥库文件路径 |
| Store Password | 密钥库密码 |
| Key Alias | 密钥别名 |
| Key Password | 密钥密码 |
| Sign Alg | SHA256withECDSA(固定) |
| Profile File | .p7b Profile文件路径 |
| Certpath File | .cer证书文件路径 |
3.5 编译构建.app文件
Build → Build Hap(s)/APP(s) → Build APP(s)
编译构建完成后,在工程目录build/outputs/default下获取带签名的应用包。
3.6 上传软件包(DevEco Studio 5.0.5.200+)
Build → Upload Product
| 选项 | 说明 |
|---|---|
| Generate app package and upload it to AppGallery Connect for test | 仅测试发布 |
| Generate app package and upload it to AppGallery Connect for test and publish | 全网正式发布 |
| Upload your app's symbols | 上传符号表信息 |
3.7 发布到应用市场
将.app文件上架到应用市场,参考官方链接:
发布HarmonyOS应用
发布元服务
四、版本差异
| 步骤 | 26.0.0 Beta1+ | 26.0.0 Beta1以下 |
|---|---|---|
| 密钥生成 | Build → Generate Key and CSR | 同上 |
| 证书申请 | 上传时自动/手动 | 手动在AGC申请 |
| 签名方式 | 云管理证书/手动 | 手动配置 |
| 上传方式 | Build → Upload Product | Build → Upload Product |
鸿蒙应用发布需生成密钥(.p12)和证书请求文件(.csr),在AGC申请发布证书(.cer)和Profile(.p7b),配置签名后编译构建.app文件,通过Build → Upload Product上传至AGC(26.0.0+支持云管理证书自动签名),最后发布到应用市场。