鸿蒙 内部测试:打包配置与编译(二)

继上篇了解了“指定设备发布”的整体流程和适用场景后,本文继续介绍打包前的配置准备和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 中配置签名信息并编译打包。
步骤一:配置工程签名信息
-
打开 DevEco Studio,顶部菜单栏选择 File > Project Structure,进入工程结构界面
-
导航选择 Project,点击 Signing Configs 页签
-
取消 “Automatically generate signature” 勾选项(即关闭自动签名)
-
手动配置以下签名信息,完成后点击 OK:
| 配置项 | 说明 | 注意事项 |
|---|---|---|
| Store file | 密钥文件 | 选择之前准备好的 .p12 文件 |
| Store password | 密钥库密码 | 需与生成密钥时设置的密钥库密码保持一致 |
| Key alias | 密钥别名 | 需与生成密钥时设置的别名保持一致 |
| Key password | 密钥密码 | 需与生成密钥时设置的密码保持一致 |
| Sign alg | 签名算法 | 固定设置为 SHA256withECDSA |
| Profile file | Profile 文件 | 选择准备好的指定设备发布 Profile(.p7b) |
| Certpath file | 发布证书文件 | 选择准备好的发布证书(.cer) |
步骤二:分别编译各 Module
说明:指定设备发布仅支持编译 HAP 和应用内 HSP 包。
编译 HAP 包
-
菜单栏选择 Build > Build Hap(s)/APP(s) > Build Hap(s)
-
等待编译构建完成
-
构建完成后,在各模块的
build > default > outputs > default目录下,获取到XXX-signed.hap文件
编译 HSP 包(仅支持应用内 HSP 包)
-
选中待编译共享包模块
-
菜单栏选择 Build > Make Module ${libraryName}(即构建该共享包模块)
-
等待编译构建完成
-
构建完成后,在共享包模块的
build > default > outputs > default目录下,获取到*.hsp文件
三、其他事项
-
三件套缺一不可:
.p12(密钥) +.cer(发布证书) +.p7b(Profile),少一个都签不了名。 -
企业开发者走特殊通道:普通发布证书申请不了,要用 In-house 发布证书,别搞混。
-
密码和别名必须一致:配置签名时填的 Store password、Key alias、Key password 必须和生成密钥时完全一致,否则签名失败。
-
Sign alg 是固定的:不要乱选,文档明确是
SHA256withECDSA。 -
输出目录统一:HAP 和 HSP 都输出在
build/default/outputs/default/下,记住这个路径方便找包。 -
HSP 只支持应用内共享包,别想着打独立的 HSP 出去。
更多推荐



所有评论(0)