鸿蒙中级课程笔记13—应用/元服务上架
AppGallery Connect是华为推出的应用一站式服务平台,致力于为开发者提供应用/元服务开发、分发、分析、运营全生命周期服务,构建全场景智慧化的应用生态。HarmonyOS应用/元服务开发完成后,需要经过AppGallery Connect上架发布,才能分发到应用市场/负一屏等各渠道。本课程将通过构建一个HarmonyOS应用,来介绍HarmonyOS应用/元服务的创建、编译和上架操作。
一、概述
AppGallery Connect是华为推出的应用一站式服务平台,致力于为开发者提供应用/元服务开发、分发、分析、运营全生命周期服务,构建全场景智慧化的应用生态。
HarmonyOS应用/元服务开发完成后,需要经过AppGallery Connect上架发布,才能分发到应用市场/负一屏等各渠道。本课程将通过构建一个HarmonyOS应用,来介绍HarmonyOS应用/元服务的创建、编译和上架操作。
HarmonyOS会通过数字证书与Profile文件等签名信息来保证应用的完整性,需要上架的HarmonyOS应用/元服务都必须通过签名校验,所以上架前,您需要先完成签名操作。
本课程视频还介绍了邀请测试和公开测试的流程,需要时可参考应用/元服务上架。
常见问题知识点
每个包中必须包含一个Profile文件,文件中包含了包名、数字证书信息、允许申请的证书权限列表等内容。
在DevEco Studio配置签名时,需要上传Store File(*.p12)、Profile File(*.p7b)和Certpath File(*.cer)。
编译打包生成的软件包存放在build > outputs > default目录下。
打包出来的发布包是.app格式。
二、创建项目
- 登录AppGallery Connect,点击“我的项目”。
- 在项目页面中点击“添加项目”。
- 在“创建项目”页面中输入项目名称后 ,点击“创建并继续”。

- 项目创建后会进入“开通分析服务”页面。此时可以开通分析服务,以便通过报表查看相关指标数据,也可以创建完项目后开通。
三、创建HarmonyOS应用/元服务
- 在项目列表中点击需要操作的项目。
- 点击“添加应用”创建应用/元服务。
- 项目中没有应用,在“项目设置”页面点击“添加应用”。

- 项目中有应用,展开顶部应用列表框,点击“添加应用”。

- 填写相关信息,点击“确认”。
- 选择平台:选择“APP(HarmonyOS)”。
- 应用包名:需要和DevEco Studio创建工程时填写的“bundleName”值保持一致。
- “是否元服务”:HarmonyOS应用选择“否”,元服务选择“是”。

四、编译打包HarmonyOS应用/元服务
完整编译流程如下图所示。

生成密钥和证书请求文件
先说明相关概念:
HarmonyOS通过数字证书与Profile文件等签名信息来保证HarmonyOS应用/元服务的完整性,因此在上架前需要使用数字证书和Profile文件对HarmonyOS应用/元服务进行签名后才能发布。
- 密钥:格式为.p12,包含非对称加密中使用的公钥和私钥。储在密钥库文件中。公钥和私钥对用于数字签名和认证。密钥文件和密码要妥善保存,修改会导致签名发生变化,会影响后续版本的升级更新。
- 证书请求文件:格式为.csr,包含密钥对中的公钥和开发者基本信息。用于向AG Connect申请数字证书。
- 数字证书:格式为.cer,包含公钥、证书、指纹等信息。通过证书请求文件申请,有调试证书和发布证书两个类型,上架应用市场使用发布证书。用于签名应用和元服务的软件包,保障软件代码的完整性和发布者身份的真实性。每个帐号最多申请3个发布证书,如果证书已过期或者无需使用,点击“废除”即可删除证书,删除后不可恢复,通过证书申请的profile也会全部失效。
- Profile文件:格式为.p7b,包含HarmonyOS应用/元服务的包名、数字证书信息、描述HarmonyOS应用/元服务允许申请的证书权限列表及允许调试的设备列表等内容,每个HarmonyOS应用/元服务包中均必须包含一个Profile文件。Profile文件也分为调试Profile和发布Profile两种类型。调试Profile中有允许调试的设备列表,发布Profile中允许调试的设备列表为空。
证书申请和签名流程如下:

下面说明申请流程:
- 打开DevEco Studio,菜单选择“Build > Generate Key and CSR”。
- Key Store File可以点击“Choose Existing”选择已有的密钥库文件(存储有密钥的.p12文件),跳转至步骤4继续配置;如果没有密钥库文件,点击“New”,跳转至步骤3进行创建。

- 在“Create Key Store”界面,填写密钥库信息后,点击“OK”。
- Key Store File:设置密钥库文件存储路径,并填写p12文件名。
- Password:设置密钥库密码,必须由大写字母、小写字母、数字和特殊符号中的两种以上字符的组合,长度至少为8位。请记住该密码,后续签名配置需要使用。
- Confirm Password:再次输入密钥库密码。
- 在“Generate Key and CSR”界面继续填写密钥信息后,点击“Next”。
- Alias:密钥的别名信息,用于标识密钥名称。请记住该别名,后续签名配置需要使用。
- Password:密钥对应的密码,与密钥库密码保持一致,无需手动输入。
- Validity:证书有效期,建议设置为25年及以上,覆盖元服务的完整生命周期。
- Certificate:输入证书基本信息,如组织、城市或地区、国家码等。

- 在“Generate Key and CSR”界面设置CSR文件存储路径和CSR文件名,点击“Finish”。

CSR文件创建成功后,将在存储路径下获取生成密钥库文件(.p12)和证书请求文件(.csr)。

申请发布证书
- 登录AppGallery Connect,选择“用户与访问”。
- 左侧导航栏选择“证书管理”,进入“证书管理”页面,点击“新增证书”。

- 在弹出“新增证书”界面填写相关信息后,点击“提交”。
参数
说明
证书名称
不超过100个字符。
证书类型
选择“发布证书”。
上传证书请求文件(CSR)
上传生成密钥和证书请求文件时获取的.csr文件。

- 证书申请成功后,“证书管理”页面展示生成的证书内容。
- 点击“下载”将生成的证书保存至本地。
- 每个帐号最多申请3个发布证书,如果证书已过期或者无需使用,点击“废除”即可删除证书,删除后不可恢复,通过证书申请的profile也会全部失效。

申请发布Profile
- 登录AppGallery Connect,选择“我的项目”。
- 找到对应项目,点击项目卡片中需要发布的元服务。
- 导航选择“HarmonyOS应用 > HAP Provision Profile管理”,进入“管理HAP Provision Profile”页面,点击“添加”。

- 在“HarmonyAppProvision信息”界面填写相关信息,点击“提交”。
说明
如果您发布的应用支持API 9及以上版本,且需要使用ACL申请的权限,请提供APP ID发送到agconnect@huawei.com。待运营审核通过后,才可以看到“受限ACL权限”选项进行配置。

参数
说明
名称
不超过100个字符。
类型
选择“发布”。
选择证书
选择申请的发布证书。
申请权限
- 如应用需要申请受限权限,选择“受限权限(HarmonyOS API9以下)”,该选项支持申请如下受限权限:
- ohos.permission.READ_CONTACTS(允许应用读取联系人数据)
- ohos.permission.WRITE_CONTACTS(允许应用添加、移除和更改联系人数据)
- 如应用需要申请ACL权限,请选择“受限ACL权限(HarmonyOS API9及以上)”,该选项支持申请允许ACL申请的权限。
说明
请确保您此处申请的权限与软件包内配置的权限一致。
- 如应用需要申请受限权限,选择“受限权限(HarmonyOS API9以下)”,该选项支持申请如下受限权限:
- 申请成功,即可在“管理HAP Provision Profile”页面查看Profile信息。点击“下载”,将文件下载到本地。

配置签名信息
- 打开DevEco Studio,菜单选择“File > Project Structure”,进入“Project Structure”界面。
- 导航选择“Project”,点击“Signing Configs”页签,首先取消自动签名选项,然后手动填写相关信息后,点击“OK”。
- Store File:密钥库文件,选择生成密钥和证书请求文件时生成的.p12文件。
- Store Password:密钥库密码,需要与生成密钥和证书请求文件时设置的密钥库密码保持一致。
- Key alias:密钥的别名信息,需要与生成密钥和证书请求文件时设置的别名保持一致。
- Key password:密钥的密码,需要与生成密钥和证书请求文件时设置的密码保持一致。
- Sign alg:固定设置为“SHA256withECDSA”。
- Profile file:选择申请发布Profile时下载的.p7b文件。
- Certpath file:选择申请发布Profile时下载的.cer文件。

编译打包
- 打开DevEco Studio,菜单选择“Build > Build Hap(s)/APP(s) > Build APP(s)”。
- 等待编译构建签名的HarmonyOS应用/元服务,编译完成后,可在工程目录build > outputs > default目录下获取用于上架的软件包。
五、上架HarmonyOS应用/元服务
- 登录AppGallery Connect,选择“我的应用”。
- 在应用列表首页中点击“HarmonyOS”页签。
- 点击待发布的应用/元服务,在左侧导航栏选择“应用信息”菜单。
- 填写应用的基本信息,如语言,应用名称,应用介绍等,上传应用图标,所有配置完成后点击“保存”。
- 填写版本信息,如发布国家或地区、上传软件包、提交资质材料等,所有配置完成后点击右上角“提交审核”。
详细配置指导请参见官网文档:发布HarmonyOS应用 发布元服务
目前华为在中国大陆地区受限开放了审核加急功能,需要发邮件申请。选择加急时,一般两小时内可以完成上架。当应用存在紧急漏洞,需要修复时可以使用。
六、分阶段发布
全网版本上架后,下次更新版本时可以采用分阶段发布的方式进行应用升级。采用分阶段发布,可以先向一定比例的用户发布更新的版本,然后再逐步提升用户比例,最终实现全网发布。通过小范围的版本更新,可以快速获取用户对新版本的反馈意见,降低全网发布后版本出现问题的风险。

七、应用审核资质要求
应用基础资质要求


计算机软件著作权证书申请入口

计算机软件著作权证书审核要求

八、华为审核标准
为了保证HarmonyOS应用/元服务的质量,华为会对已提交的应用/元服务进行审核,只有满足相关的审核要求才能在华为渠道分发。开发者需要关注以下几个审核要素:
1.应用信息要完整
应用名称、图标、介绍、截图、分类、语言、内容分级等信息要完整,且符合应用实际功能和用途,能够准确反映应用的核心体验。
2.应用安全要合规
应用应给用户提供可靠的使用环境,不得含有试图滥用网络、设备以及干扰其他应用的安全隐患,不得含有病毒、木马等恶意程序,不得含有欺骗用户、诱导用户等不良行为。
3.应用功能要稳定
应用应给用户提供优质的使用体验,具备正常完整、稳定流畅、可实现、有吸引力的功能,不得含有影响用户体验的不合理功能,如应用频繁崩溃、卡顿等。
除此之外,还需要关注应用内容、用户隐私、知识产权等其他要素,详情可以参考《华为应用市场审核指南》
元服务上架还需关注快照、卡片大小,以及外部跳转等其他要素,详情可参考《〈元服务审核指南》
九、常见问题总结
以下罗列了出错频率较高的问题,更多异常处理请参见软件包解析错误说明。

上传软件包,提示“Profile文件非法”,如何处理?
出现此错误,原因可能有以下两种。
- 原因一:软件包使用的Profile已被删除,如下图,应用下无发布Profile。您需要申请发布Profile,然后重新打包上传。

- 原因二:软件包中使用的发布Profile文件并非当前待发布应用的,常见的错误是下载、使用了其他应用的Profile文件。
例如:下载了HarmonyA应用的Profile文件,并将此Profile文件打入HarmonyB应用包中。

那么在发布HarmonyB应用时,上传软件包就会出现此错误。

上传软件包,提示“使用的Profile和证书不匹配”,如何处理?
出现此错误,一般是由于软件包中使用的发布证书与发布Profile文件中使用的发布证书不一致。请排查确认DevEco Studio打包时配置的发布证书,是否为配置的Profile文件中使用的发布证书。

上传软件包,提示“非法软件包”,如何处理?
出现此错误,可能是软件包未签名,请检查编译环境,确认是否使用了签名文件。或者是否有进行拆包再手动打包,导致未正确签名。建议使用DevEco Studio中配置签名后重新编译打包。
上传软件包时,提示“软件包中使用证书已被删除”,如何处理?
出现此错误,一般是软件包中使用的证书已经被删除。请访问AppGallery Connect申请Profile的页面,检查打包使用Profile是否还存在。如果已删除,需要重新申请新的发布证书和新的发布Profile,并重新编译打包新的软件包。

十、AppGallery Connect中项目和应用的关系
在AppGallery Connect中,项目(Project)是用于组织和集成资源的逻辑容器,而应用(App)是在项目中具体开发和发布的实体产品。二者的核心关系可以概括为:项目可以包含多个应用,但一个应用只能归属于一个项目。
为了帮助你清晰地理解它们的关系、区别和管理逻辑,我整理了一份对比表格:
| 方面 | 项目(Project) | 应用(App) |
|---|---|---|
| 定义 | 组织和管理多个应用及其资源的容器。 | 具体的产品实体(如一个手机APP或原子服务),是发布、版本管理的基本单位。 |
| 核心作用 | 组织与隔离:按业务线或团队整合应用;资源管理:统一管理云数据库、云存储等资源。 | 产品实现:承载具体的代码、功能和用户界面;独立发布:拥有独立的包名、APP ID和上架流程。 |
| 所属关系 | 一个项目可以包含多个应用。 | 一个应用必须且只能归属于一个项目。 |
| 创建与管理要点 | 先于应用:使用华为服务(如认证、云数据库)前通常需先创建项目。 | 创建时关联:创建应用时,可选择将其添加到现有项目中,或先创建应用再关联到项目。 |
| 场景示例 | “电商事业部项目”、“游戏工作室A项目”。 | 一个项目内可能包含:主商城APP、商家管理APP、物流APP等。 |
更多推荐




所有评论(0)