鸿蒙原生 证书 & 打包到真机


打包.png

鸿蒙打包到真机还比较麻烦,如果是个人开发者,只有一台设备,那直接选择自动签名Automatically generate signature就可以。但是如果是多人开发多台设备就需要配置了,这样切换分支的时候用同一配置也能打包。

配置签名需要四个文件: .p12、csr .p7b .cer

应用配置文件 p12、csr

这个文件是在编辑器里(Build->Generate Key and CSR)生成的,同步生成的还有 Store passwordKey aliasKey password,p12文件和这三个值一一对应。 p12 p12:是放在应用里的 csr:是用来生成cer的

证书文件 cer

证书等生成的位置:证书、APP ID和Profile

证书 证书生成需要csr文件: 图片[4]-鸿蒙原生 证书 & 打包到真机 - 码蜂屋-码蜂屋

每个账号下只能有1个正式,2个调试。 多个应用,证书都可以用一个,例如元服务和App都可以用同一个。

我们至少需要申请一个正式证书,一个测试证书。正式证书用来发布,测试证书用来开发调试。并且关联设备的p7b文件需要此证书。

profile文件 p7b, 用来绑定设备

设备

p7b文件和cer文件是成对出现的,分为测试和正式。p12则是同一个。

新增profile时,需要填写设备的uuid,把所有的调试设备都关联起来,那么打包到真机时就不会有问题了。

获取udid地址注册调试设备 hdc shell bm get --udid

可能的问题:

  1. 需要先配置环境变量,不然一直hdc无效
  2. 如果出现 [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是一样的。

所以元服务需要用App里的p12文件。

作者:JinBeen
链接:https://juejin.cn/post/7438346298083147810?searchId=202411181135572152D1999A442935EA32

© 版权声明
THE END
喜欢就支持以下吧
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容