鸿蒙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获取方法如下:
- 打开“设置 > 关于本机”,多次点击版本号,打开开发者模式。
- 打开“设置 > 系统”,在最下方找到“开发人员选项”,打开“USB调试”开关。
- 使用PC连接手机后,打开命令行工具,进入HDC目录(一般为:DevEco Studio安装目录/sdk/default/openharmony/toolchains),输入hdc shell bm get --udid命令,获取设备的UDID。
- 平板的UDID获取方法如下:
- 打开“设置 > 关于本机”,多次点击版本号,打开开发者模式。
- 打开“设置 > 系统”,在最下方找到“开发者模式”,打开“USB调试”开关。
- 使用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”下可查看到配置成功的签名信息。
参考官方文档:文档中心