鸿蒙HamonyOS应用上架手动签名与发布

简介: 鸿蒙HamonyOS应用上架手动签名与发布

本节以Birlower应用上架为例,记录完整的鸿蒙HamonyOS应用上架手动签名与发布流程。

上架手动签名

HarmonyOS应用/元服务通过数字证书(.cer文件)和Profile文件(.p7b文件)来保证应用/元服务的完整性。在申请数字证书和Profile文件前,首先需要通过DevEco Studio来生成密钥(存储在格式为.p12的密钥库文件中)和证书请求文件(.csr文件)。然后,申请调试数字证书和调试Profile文件。最后,将密钥(.p12)文件、数字证书(.cer)文件和Profile(.p7b)文件配置到工程中。

基本概念

  • 密钥:格式为.p12,包含非对称加密中使用的公钥和私钥,存储在密钥库文件中,公钥和私钥对用于数字签名和验证。

  • 证书请求文件:格式为.csr,全称为Certificate Signing Request,包含密钥对中的公钥和公共名称、组织名称、组织单位等信息,用于向AppGallery Connect申请数字证书。

  • 数字证书:格式为.cer,由华为AppGallery Connect颁发。

  • Profile文件:格式为.p7b,包含HarmonyOS应用/元服务的包名、数字证书信息、描述应用/元服务允许申请的证书权限列表,以及允许应用/元服务调试的设备列表(如果应用/元服务类型为Release类型,则设备列表为空)等内容,每个应用/元服务包中均必须包含一个Profile文件。

1. 生成密钥文件

在DevEco Studio中生成密钥文件

设置存储路径:比如本例D:\dev\harmonyos\keystore\birlower_20250916.p12

输入密码

设置别名:比如本例birlower_20250916

2.生成证书请求文件

基于上一步的密钥文件,生成证书请求文件

设置存储路径:比如本例D:\dev\harmonyos\keystore\birlower_20250916.csr

3. 新增数字证书

登录AppGallery Connect,点击左侧导航栏的“数字证书”,点击“新增数字证书”。

填写证书信息,并上传上一步生成的证书请求文件。

证书名称:比如本例birlower_20250916
`

证书类型:发布证书

下载数字证书文件到指定目录待用。

4. 添加Profile

点击“Profile”,添加Profile。

Profile名称:birlower_20250916

类型:发布

选择证书:选择上一步新增的数字证书

下载Profile文件到指定目录待用。

5. 手动配置签名信息

在DevEco Studio中配置密钥(.p12)文件、申请的调试证书(.cer)文件和调试Profile(.p7b)文件。

在File > Project Structure > Project > Signing Configs窗口中,取消勾选“Automatically generate signature”,然后配置工程的签名信息。

Store file:选择第1步生成的密钥库文件,文件后缀为.p12,该文件为生成密钥和证书请求文件中生成的.p12文件。

Store password:输入第1步的密钥库密码,该密码与生成密钥和证书请求文件中填写的密钥库密码保持一致。

Key alias:输入第1步的密钥的别名信息,与生成密钥和证书请求文件中填写的别名保持一致。

Key password:输入第1步的密钥的密码,与生成密钥和证书请求文件中填写的Store Password保持一致。

Sign alg:签名算法,固定为SHA256withECDSA。

Profile file:选择第4步生成的申请调试证书和调试Profile文件中生成的Profile文件,文件后缀为.p7b。

Certpath file:选择第3步生成的申请调试证书和调试Profile文件中生成的数字证书文件,文件后缀为.cer。

构建软件包

打包APP时,DevEco Studio会将工程目录下的所有HAP/HSP模块打包到APP中,因此,如果工程目录中存在不需要打包到APP的HAP/HSP模块,请手动删除后再进行编译构建生成APP。

单击Build > Build Hap(s)/APP(s) > Build APP(s),等待编译构建完成已签名的应用包。

当未指定构建模式时,构建APP包,默认Release模式;构建HAP/HSP/HAR包,默认Debug模式。

即Build APP(s)时,默认构建的APP包为Release类型,符合上架要求,开发者无需进行另外设置。

编译构建完成后,可以在工程目录build > outputs > default下,获取带签名的应用包,例如“Birlower-default-signed.app”

上传软件包

AGC 软件包管理,选择测试和正式上架,上述上一步的软件包“Birlower-default-signed.app”

分发

AGC 版本信息,软件版本选择上一步的软件版本。

软件包加密:加密

应用介绍:一款识别鸟和花的APP。

An APP for identifying birds and flowers.

应用一句话简介(小编推荐):一款识别鸟和花的APP

应用截图和视频:上传截图。需上传 3~5 张。最低尺寸(请确保宽高比9:16):720*1280px;格式:PNG、 JPG、 JPEG (均在 5 MB 以内),以及 WEBP (200 KB 以内)。

内容分级:3+

隐私声明:使用隐私声明托管。新建协议“Birlower隐私声明”

参考引用

目录
相关文章
|
4天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1111 2
|
3天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
583 11
|
13天前
|
人工智能 运维 安全
|
4天前
|
弹性计算 Kubernetes jenkins
如何在 ECS/EKS 集群中有效使用 Jenkins
本文探讨了如何将 Jenkins 与 AWS ECS 和 EKS 集群集成,以构建高效、灵活且具备自动扩缩容能力的 CI/CD 流水线,提升软件交付效率并优化资源成本。
305 0
|
11天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
12天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
817 23
|
4天前
|
缓存 供应链 监控
VVIC seller_search 排行榜搜索接口深度分析及 Python 实现
VVIC搜款网seller_search接口提供服装批发市场的商品及商家排行榜数据,涵盖热销榜、销量排名、类目趋势等,支持多维度筛选与数据分析,助力选品决策、竞品分析与市场预测,为服装供应链提供有力数据支撑。

热门文章

最新文章