> 文档中心 > openHarmony系统打包应用程序

openHarmony系统打包应用程序

openHarmony系统打包应用程序

    • 一、前言
    • 二、配置openHarmony应用签名信息
      • 1.生成密钥和证书请求文件
      • 2.生成应用证书文件
      • 3.生成应用profile文件
      • 4.配置应用签名信息
    • 三、安装运行openHarmony应用
      • 1.发送应用
      • 2.安装应用
      • 3.抓取日志
    • 四、总结

一、前言

经过一段时间的学习,打包应用并安装应该是最激动人心的一环了,所以今天带大家完成openHarmony应用的安装,正文即将开始~~

二、配置openHarmony应用签名信息

一般应用在安装之前都需要进行签名才可以正式安装,这部分主要是为了保证程序不被恶意修改而设置的,下图展示了签名的流程

在这里插入图片描述

1.生成密钥和证书请求文件

OpenHarmony应用通过数字证书(.cer文件)和Profile文件(.p7b文件)来保证应用的完整性,需要通过DevEco Studio来生成密钥文件(.p12文件)和证书请求文件(.csr文件)。同时,也可以使用命令行工具的方式来生成密钥文件和证书请求文件。这里我们以DevEco Studio操作为例

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

    点击create new 然后创建一个新的.p12密钥文件,这里需要注意一下密码格式,必须包含大小写字母、特殊符号、数字,不能使用一般的密码,类似123456(以前测试的时候经常这么做)

    在这里插入图片描述

  • 填写其他部分,填完如下,其他部分可以空着不填,然后点击next

    在这里插入图片描述

  • 生成证书文件

    同样需要自己选择一个存放csr文件的路径,它会自动生成文件,点击finish即可

    在这里插入图片描述

    然后就是成功生成的提示

    在这里插入图片描述

2.生成应用证书文件

使用生成密钥和证书请求文件中生成的证书请求文件,来生成应用签名所需的数字证书文件。生成方法如下:

进入DevEco Studio安装目录的 Sdk\toolchains\lib文件夹下(该SDK目录只能是OpenHarmony SDK,配置方法可参考配置OpenHarmony SDK),打开命令行工具,执行如下命令(如果keytool命令不能执行,请在系统环境变量中添加JDK的环境变量)。其中,只需要修改输入和输出即可快速生成证书文件,即修改 -infile指定证书请求文件csr文件路径, -outfile指定输出证书文件名及路径 - validity有效时间。(这里需要注意,我这里只是为了美观,才一行行的写,实际输入的时候需要连在一起,因为换行代表执行命令的意思,下面还有一个配置也是一样)

keytool -gencert -alias "OpenHarmony Application CA" -infile 路径+密钥文件名.csr -outfile 路径+数字证书文件名.cer  -keystore OpenHarmony.p12 -sigalg SHA384withECDSA -storepass 123456-ext KeyUsage:"critical=digitalSignature" -validity  3650 -rfc

这里有几点需要注意

  • 这个命令只能在DevEco Studio安装目录的 Sdk\toolchains\lib文件夹下执行

    自带的这个终端快捷路径下执行即可 Terminal

    在这里插入图片描述

  • infile是指定的输入路径,outfile仍然是新建一个文件,输出路径自定义

  • 其他参数不能改,都是系统指定的(那个storepass的密码有点搞笑,我先笑一会)

3.生成应用profile文件

这个步骤是相似的,进入 Sdk\toolchains\lib目录下,打开命令行工具,执行如下命令,直接上命令

  • –out需要修改成自己的路径

  • –bundle-name 即包名需要换成自己的,

  • –permission这个选项如果没有的话空着就行,不要去掉(踩了大坑,私自去掉然后倒霉了,一直报错)

  • –distribution-certificate 换成自己的输出路径

  • –validity 有效期

java -jar provisionsigtool.jar sign --in UnsgnedReleasedProfileTemplate.json --out 路径+文件名.p7b --keystore OpenHarmony.p12 --storepass 123456 --alias "OpenHarmony Application Profile Release" --sigAlg SHA256withECDSA --cert OpenHarmonyProfileRelease.pem --validity 365 --developer-id wresource --bundle-name 包名 --permission --distribution-certificate 路径+文件名.cer

4.配置应用签名信息

在真机设备上调试前,需要使用到制作的私钥(.p12)文件、证书(.cer)文件和Profile(.p7b)文件对调试的模块进行签名。

打开 File > Project Structure,点击 Project > Signing Configs > debug窗口中,去除勾选“Automatically generate signing”,然后配置指定模块的调试签名信息。这里指定的是release的签名

在这里插入图片描述

  • Store File:选择密钥库文件,文件后缀为.p12,该文件为生成密钥和证书请求文件中生成的.p12文件。
  • Store Password:输入密钥库密码,该密码为生成密钥和证书请求文件中填写的密钥库密码保持一致。
  • Key Alias:输入密钥的别名信息,与生成密钥和证书请求文件中填写的别名保持一致。
  • Key Password:输入密钥的密码,与 Store Password保持一致。
  • Sign Alg:签名算法,固定为SHA256withECDSA。
  • Profile File:选择生成应用Profile文件中生成的Profile文件,文件后缀为.p7b。
  • Certpath File:选择生成应用证书文件中生成的数字证书文件,文件后缀为.cer。

上面这些参数都是比较容易填得,这些文件最好放在项目的目录下,便于查找

然后点击build即可完成hap的生成

在这里插入图片描述

之后在这个路径下可以找到生成的hap包

在这里插入图片描述

三、安装运行openHarmony应用

经历千辛万苦终于来到安装和运行openHarmony应用了,这里需要注意一点,openHarmony不能安装在普通手机上,只能安装在认证的开发板上,官方烧录文档如果有空的话下一次给大家带来烧录的教程

以下命令行安装均默认在连接完开发板时进行,需要进入Sdk\toolchains目录下进行运行

1.发送应用

hdc_std file send 本地路径.hap 远程接收路径.hap

2.安装应用

hdc_std install 应用名.hap

3.抓取日志

hdc_std hilog

四、总结

至此安装openHarmony应用已经完成了,可以在你的开发板上运行了,中间还是有点小曲折的,不过真的要吐槽一下,这个签名是真的复杂,需要手动生成两次文件,希望后面有更快捷的命令直接生成,下一篇见~~

戒烟网