Harmonyos next 鸿蒙原生 证书 & 打包到真机
harmonyos next 鸿蒙打包到真机还比较麻烦,如果是个人开发者,只有一台设备,那直接选择自动签名Automatically generate signature
就可以。但是如果是多人开发多台设备就需要配置了,这样切换分支的时候用同一配置也能打包。
配置签名需要四个文件: .p12、csr .p7b .cer
应用配置文件 p12、csr
这个文件是在编辑器里(Build->Generate Key and CSR
)生成的,同步生成的还有 Store password
、Key alias
、Key password
,p12文件和这三个值一一对应。
p12:是放在应用里的 csr:是用来生成cer的
证书文件 cer
证书生成需要csr文件:
每个账号下只能有1个正式,2个调试。 多个应用,证书都可以用一个,例如元服务和App都可以用同一个。
我们至少需要申请一个正式证书,一个测试证书。正式证书用来发布,测试证书用来开发调试。并且关联设备的p7b文件需要此证书。
profile文件 p7b, 用来绑定设备
p7b文件和cer文件是成对出现的,分为测试和正式。p12则是同一个。
新增profile时,需要填写设备的uuid,把所有的调试设备都关联起来,那么打包到真机时就不会有问题了。
获取udid地址:注册调试设备 hdc shell bm get --udid
可能的问题:
- 需要先配置环境变量,不然一直hdc无效
- 如果出现
[Fail]ExecuteCommand need connect-key? please confirm a device by help info
,关掉 USB调试 开关后重新打开。
最后
会生成5个文件,即1个p12文件,2个cer文件和2个p7b文件。共用一个p12文件,测试和正式分别用对应的cer和p7b文件。
签名机制和安卓几乎完全不一致,这里在简单总结一下: 签名证书过期是cer过期了,cer生成需要用到csr文件,csr是和p12同时生成的,是在编译器里生成。 然后拿着新的cer文件去生成p7b文件,其中这里有分正式和调试证书。
如果多个应用,我们就有元服务和App。证书文件cer是需要共用的,因为只能生成3个且还要区分正式和调试。 共用cer证书,意味着要共用p12文件,而p12文件是在编译器里生成的。
这里就有一个很大的误区
:安卓编译器里生成的签名文件是和app一一对应的,相当于这个应用的唯一标识了;但是鸿蒙不一样,在其他项目中生成的p12文件,可以在另一个项目中用,因为它们的证书文件 cer是一样的。
"signingConfigs": [
{
"name": "debug",
"type": "HarmonyOS",
"material": {
"storePassword": "0000001966A961ECA0DF4FBAA4C060E29B1A336B653164554A",
"certpath": "./key/app_test.cer",
"keyAlias": "dream",
"keyPassword": "000000196B1000F4641D95F1452B7E8CFCC405FE6BAB54360ED7C",
"profile": "./key/app_test.p7b",
"signAlg": "SHA256withECDSA",
"storeFile": "./key/release/p12-release.p12"
}
},
{
"name": "release",
"type": "HarmonyOS",
"material": {
"certpath": "./key/release/cer-release.cer",
"storePassword": "000000193669461AA978895500C3514C930B9C59B92E6F7D633B05B6D",
"keyAlias": "dream",
"keyPassword": "00000019F22018ADDCC704CB85EDA3F0B4DE492DB9CE628CFB01DE563FF",
"profile": "./key/release/app20240923-release.p7b",
"signAlg": "SHA256withECDSA",
"storeFile": "./key/release/p12-release.p12"
}
}
]
所以元服务需要用App里的p12文件。
- 0回答
- 0粉丝
- 0关注
- HarmonyOS Next云真机来啦
- HarmonyOS NEXT应用开发 ( 应用的签名打包上架,各种证书详解)
- 【HarmonyOS Next】原生沉浸式界面
- 鸿蒙Flutter实战:13-鸿蒙应用打包上架流程
- 鸿蒙开发:实现AI打字机效果
- 鸿蒙原生健康助手
- 第十课:HarmonyOS Next应用打包与发布全流程解析
- HarmonyOS NEXT 实战之元服务:静态案例效果--- 手机一键加速、手机垃圾清理
- 使用uts调用鸿蒙原生API
- 鸿蒙原生农历查询 (Lunar Calendar)
- 跨平台开发鸿蒙原生应用
- 鸿蒙保存图片到相册
- Flutter Channel 原理与鸿蒙原生对接
- HarmonyOS NEXT 实战之元服务:静态案例效果---手机查看电量
- 华为鸿蒙原生应用碰一碰分享