鸿蒙Next开发真机调试签名申请流程

背景:

在学习鸿蒙next开发应用的初期总是会遇到一堆的问题,毕竟鸿蒙next开发不管是他的ArKTS语言还是他的开发工具DevEco Studio都还在起步阶段,就像当初的Android起步一样,总会有资料不足的一些问题。就比如我们学习下载完DevEco Studio创建第一个鸿蒙Next应用Hello World之后想在真机上跑起来看下效果就会遇到签名无法运行等问题。这里我们就简单记录DevEco Studio自动签名和手动签名的流程。

一、注册

在签名之前我们需要先注册登录华为开发者平台

二、自动签名

在调试阶段,我们可以使用DevEco Studio的自动签名来完成应用的签名。

在DevEco Studio中选择File > Project Structure > Project > Signing Configs窗口中,勾选"Automatically generate signature"自动签名选项(如果是HarmonyOS应用,请勾选"Support HarmonyOS")

这时候会显示让登录,直接点击登录刚刚注册的开发者平台即可。

这时候返回DevEco Studio就可以看到自动签名的信息了

注意:这个过程中需要USB链接手机,否则就会提示未检测到设备

完成自动签名后就可以运行安装应用到设备上看效果了。

三、手动签名

上面的自动签名适用于应用调试阶段,但是如果要发布应用的话,就需要使用手动签名了。在完成手动签名之前,我们先了解下几个基本知识:

  • 证书请求文件:格式为.csr,全称为Certificate Signing Request,包含密钥对中的公钥和公共名称、组织名称、组织单位等信息,用于向AppGallery Connect申请数字证书。
  • Store file:选择密钥库文件,文件后缀为.p12,包含非对称加密中使用的公钥和私钥,存储在密钥库文件中,公钥和私钥对用于数字签名和验证。该文件为生成密钥和证书请求文件中生成的.p12文件。
  • Store password:输入密钥库密码,该密码与生成密钥和证书请求文件中填写的密钥库密码保持一致。
  • Key alias:输入密钥的别名信息,与生成密钥和证书请求文件中填写的别名保持一致。
  • Key password:输入密钥的密码,与生成密钥和证书请求文件中填写的Store Password保持一致。
  • Sign alg:签名算法,固定为SHA256withECDSA。
  • Profile file:格式为.p7b,包含HarmonyOS应用/元服务的包名、数字证书信息、描述应用/元服务允许申请的证书权限列表,以及允许应用/元服务调试的设备列表(如果应用/元服务类型为Release类型,则设备列表为空)等内容,每个应用/元服务包中均必须包含一个Profile文件。
  • Certpath file:数字证书,格式为.cer,由华为AppGallery Connect颁发。选择申请调试证书和调试Profile文件中生成的数字证书文件

1、生成签名证书请求文件

在生成签名证书之前,我们需要先通过DevEco Studio生成签名证书请求文件,具体步骤如下:

  • 在主菜单栏单击Build > Generate Key and CSR

单击New进行创建

在Create Key Store窗口中,填写密钥库信息后,单击OK。

  • Key store file:设置密钥库文件存储路径,并填写p12文件名。
  • Password:设置密钥库密码,必须由大写字母、小写字母、数字和特殊符号中的两种以上字符的组合,长度至少为8位。请记住该密码,后续签名配置需要使用。
  • Confirm password:再次输入密钥库密码。

在Generate Key and CSR界面中,继续填写密钥信息后,单击Next。

  • Alias:密钥的别名信息,用于标识密钥名称。请记住该别名,后续签名配置需要使用。
  • Password:密钥对应的密码,与密钥库密码保持一致,无需手动输入。

在Generate Key and CSR界面,设置CSR文件存储路径和CSR文件名

单击Finish,创建CSR文件成功,可以在存储路径下获取生成的密钥库文件(.p12)、证书请求文件(.csr)和material文件夹(存放签名方案相关材料,如密码、证书等)。

2、华为开发者平台申请调试证书

登录AppGallery Connect,选择"证书、APP ID和Profile"

在左侧导航栏选择"证书、APP ID和Profile > 证书",进入"证书"页面,点击"新增证书"。

在弹出的"新增证书"窗口填写要申请的证书信息,点击"提交"。

|---------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|
| 参数 | 说明 |
| 证书名称 | 不超过100个字符。 |
| 证书类型 | 选择"调试证书"。 |
| 选取证书请求文件(CSR) | 证书请求文件需要在DevEco Studio上申请,具体操作请参考生成证书请求文件。 |

证书申请成功后,"证书管理"页面展示证书名称等信息。点击"下载",将生成的证书保存至本地,供后续调试签名使用。

3、开发者平台上注册调试设备

登录AppGallery Connect,选择"证书、APP ID和Profile"。

在左侧导航栏选择"证书、APP ID和Profile > 设备",进入"设备"页面

如需添加单个设备,点击右上角的"添加设备",在弹出窗口填写设备信息,完成后点击"提交"。

UDID获取方法:

  • 手机的UDID获取方法如下:
  1. 打开"设置 > 关于本机",多次点击版本号,打开开发者模式。
  2. 打开"设置 > 系统",在最下方找到"开发人员选项",打开"USB调试"开关。
  3. 使用PC连接手机后,打开命令行工具,进入HDC目录(一般为:DevEco Studio安装目录/sdk/default/openharmony/toolchains),输入hdc shell bm get --udid命令,获取设备的UDID。
  • 平板的UDID获取方法如下:
  1. 打开"设置 > 关于本机",多次点击版本号,打开开发者模式。
  2. 打开"设置 > 系统",在最下方找到"开发者模式",打开"USB调试"开关。
  3. 使用PC连接平板后,打开命令行工具,进入HDC目录(一般为:DevEco Studio安装目录/sdk/default/openharmony/toolchains),输入hdc shell bm get --udid命令,获取设备的UDID。

4、申请Profile

登录AppGallery Connect,选择"证书、APP ID和Profile"。

在左侧导航栏选择"证书、APP ID和Profile > Profile",进入"Profile"页面,点击右上角"添加"

在"添加Profile"页面,填写Profile信息,完成后点击"添加"。

调试Profile申请成功后,"Profile"页面展示Profile信息。点击"下载",将生成的Profile保存至本地,供后续签名使用。

参考官方文档:文档中心

5、手动配置签名信息

在DevEco Studio中配置密钥(.p12)文件、申请的调试证书(.cer)文件和调试Profile(.p7b)文件。在File > Project Structure > Project > Signing Configs窗口中,取消勾选"Automatically generate signature"(如果是HarmonyOS应用,请勾选"Support HarmonyOS"),然后配置工程的签名信息。

配置完成后,进入工程级build-profile.json5文件,在"signingConfigs"下可查看到配置成功的签名信息。

参考官方文档:文档中心

相关推荐
冬奇Lab8 小时前
AudioRecord音频录制流程深度解析
android·音视频开发·源码阅读
alexhilton11 小时前
Jetpack Compose中的富文本输入
android·kotlin·android jetpack
兄弟加油,别颓废了。12 小时前
ctf.show_web4
android
23zhgjx-zgx13 小时前
华为ensp:配置Local区域的安全策略及ASPF配置
网络·华为
哔哔龙13 小时前
Android OpenCV 实战:图片轮廓提取与重叠轮廓合并处理
android·算法
tangweiguo0305198714 小时前
Android SSE 流式接收:从手写到框架的进阶之路
android
大尚来也15 小时前
PHP 反序列化漏洞深度解析:从原理利用到 allowed_classes 防御实战
android·开发语言·php
sp42a15 小时前
通过 RootEncoder 进行安卓直播 RTSP 推流
android·推流·rtsp
王码码203515 小时前
Flutter 三方库 sparky 的鸿蒙化适配指南 - 实现极简 2D 游戏引擎功能、支持高效精灵图渲染与跨端游戏逻辑
flutter·harmonyos·鸿蒙·openharmony
人工智能知识库16 小时前
华为人工智能HCIP-AI Solution Architect H13-323题库(26年最新,带解析知识点)
华为·hcip·题库·hcip-ai·h13-323