从零开始开发纯血鸿蒙应用
- 一、前言
- 二、鸿蒙应用配置签名证书的方式
- 1、自动获取签名证书
- 2、手动配置签名证书
- 三、多签名证书配置和使用
- 四、多证书使用
一、前言
由于手机操作系统,比电脑操作系统脆弱很多,同时,由于手机的便携性,用户群体中存在许多计算机知识并不怎么丰富的人,诸多原因纠集在一起,使得当下的部分手机操作系统,采取了比电脑操作系统更为严格的应用管控策略,其中,就规定了安装到手机上的app,都必须具有签名证书。
如今,纯血鸿蒙系统为了进一步保障用户的手机安全,理所当然的引入了app签名证书的策略,并且,即便是开发者部署Debug版app到自己的手机上,也是需要签名证书才能完成部署,否则就会失败。
二、鸿蒙应用配置签名证书的方式
目前,DevEco Studio 中配置签名证书的方式有两种,自动和手动。
1、自动获取签名证书
只要 DevEco Studio 成功登录开发者的华为开发者账号,那么,就可以在上图的页面中,勾选Automatically generate signature
去自动生成 Debug、也即调试证书;这种自动生成证书的方式,不适合用于发布证书的配置,发布证书的配置只能通过手动的方式进行配置。
2、手动配置签名证书
想要手动配置鸿蒙应用的签名证书,首先,需要登录华为鸿蒙应用市场官网 AppGallery Connect:
在其中的证书、APP ID和Profile 页面就可以进行证书的创建、也即申请:
不过,在前往 APPGallery Connect 平台创建证书前,还必须用 DevEco Studio 获取一个签名文件、即p12
文件和csr
文件:
生成的 CSR 文件,会在 APPGallery Connect 平台上创建证书时使用:
证书区分调试证书和发布证书,签名文件则不区分,因此,调试证书和发布证书可以使用同一个证书请求文件(CSR)。
一份签名证书会有四个文件:
1)p12 文件
2)csr 文件
3)p7b 文件
4)cer 文件
其中的p12文件、p7b文件和 cer 文件的保存路径,可以填写在如下的四个地方:
这样就完成了签名证书的手动配置。
三、多签名证书配置和使用
一个鸿蒙app,可以同时配置多份签名证书,这是为了适应不同类型设备的需要,例如手机端一个证书、平板端一个证书。这种多证书配置,会体现在项目根目录下的build-perofile.json5
文件中:
如上所示,我同时配置了默认的调试证书和可选的发布证书。由此也可以发现,虽然多证书配置是为了多终端的需要,然而,再具体使用的过程中,完全可以灵活一点,特别是当app是团队开发时,每个开发者都可以配置上自己的调试证书,从而互不干扰的进行使用。
通常来说,不考虑不同终端的情况下,一个应用创建一个调试证书和一个发布证书就够了。因为,AppGallery Connect 平台支持将调试设备绑定到调试证书上:
所以,当你拥有多台手机作为调试设备时,采用手动配置调试证书的方式更为合适,因为,自动获取调试证书的方式,往往需要数据线连接一台手机,每换一台手机证书文件就需要重新生成,而目前 DevEco Studio 并不支持记住华为账号的登录状态,IDE 关闭重启后就需要重新登录,颇为费时。
四、多证书使用
在鸿蒙项目中,每个模块下都有一个build-profile.json5
文件,只不过模块级别的该文件,要比项目级别的简略很多:
一般来说,我们需要关注的模块级别的 build-profile.json5 文件,只有 Entry 模块的,因为里面的 targets 标签的配置,与项目的多证书使用有关系:
在 DevEco Studio 如上图所示的位置,有一个按钮可以打开运行编译配置的修改对话框,可以根据编译运行所需选择不同的 Product、Build Mode 和 Module Target:
切换 Product 的同时,签名证书也会切换,而 Module Target 又可以和 Product 绑定:
所以,包括签名证书在内的一整套编译运行配置就这样完成了切换。