鸿蒙 内部测试:打包配置与编译(二)
2026/9/11 22:02:13 网站建设 项目流程

继上篇了解了“指定设备发布”的整体流程和适用场景后,本文继续介绍打包前的配置准备DevEco Studio中的编译打包

一、打包配置文件

打包前需要准备以下三类文件,用于对应用进行签名,保证完整性和来源真实性。

1. 密钥和证书请求文件(.p12 + .csr)

项目说明
文件格式密钥文件为.p12,证书请求文件为.csr(全称 Certificate Signing Request)
密钥文件(.p12)作用包含非对称加密中的公钥和私钥,存储在密钥库文件中,用于数字签名和验证
证书请求文件(.csr)作用包含密钥对中的公钥以及公共名称、组织名称、组织单位等信息,用于申请发布证书

提醒:务必保存好密钥文件,以及生成过程中设置的别名、密钥库密码、密钥密码

2. 发布证书(.cer)

项目说明
文件格式.cer
是什么AGC 颁发的数字证书,用于验证应用的身份和签名
操作申请发布证书后,下载到本地保存

说明:企业开发者(In-house 应用分发)无法申请发布证书,可使用In-house 发布证书用于指定设备发布。

3. 指定设备发布 Profile(.p7b)

项目说明
文件格式.p7b
包含内容包名、数字证书信息、申请的权限列表、设备列表等信息
操作申请指定设备发布 Profile 后,下载到本地保存

二、编译打包应用(DevEco Studio 操作)

准备好上述配置文件后,开始在 DevEco Studio 中配置签名信息并编译打包。

步骤一:配置工程签名信息

  1. 打开 DevEco Studio,顶部菜单栏选择File > Project Structure,进入工程结构界面

  2. 导航选择Project,点击Signing Configs页签

  3. 取消“Automatically generate signature” 勾选项(即关闭自动签名)

  4. 手动配置以下签名信息,完成后点击OK

配置项说明注意事项
Store file密钥文件选择之前准备好的.p12文件
Store password密钥库密码需与生成密钥时设置的密钥库密码保持一致
Key alias密钥别名需与生成密钥时设置的别名保持一致
Key password密钥密码需与生成密钥时设置的密码保持一致
Sign alg签名算法固定设置为SHA256withECDSA
Profile fileProfile 文件选择准备好的指定设备发布 Profile(.p7b
Certpath file发布证书文件选择准备好的发布证书(.cer

步骤二:分别编译各 Module

说明:指定设备发布仅支持编译 HAP 和应用内 HSP 包

编译 HAP 包
  1. 菜单栏选择Build > Build Hap(s)/APP(s) > Build Hap(s)

  2. 等待编译构建完成

  3. 构建完成后,在各模块的build > default > outputs > default目录下,获取到XXX-signed.hap文件

编译 HSP 包(仅支持应用内 HSP 包)
  1. 选中待编译共享包模块

  2. 菜单栏选择Build > Make Module ${libraryName}(即构建该共享包模块)

  3. 等待编译构建完成

  4. 构建完成后,在共享包模块的build > default > outputs > default目录下,获取到*.hsp文件

三、其他事项

  1. 三件套缺一不可.p12(密钥) +.cer(发布证书) +.p7b(Profile),少一个都签不了名。

  2. 企业开发者走特殊通道:普通发布证书申请不了,要用In-house 发布证书,别搞混。

  3. 密码和别名必须一致:配置签名时填的 Store password、Key alias、Key password 必须和生成密钥时完全一致,否则签名失败。

  4. Sign alg 是固定的:不要乱选,文档明确是SHA256withECDSA

  5. 输出目录统一:HAP 和 HSP 都输出在build/default/outputs/default/下,记住这个路径方便找包。

  6. HSP 只支持应用内共享包,别想着打独立的 HSP 出去。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询