Hi3516系列开发版应用开发与安装 原创 精华

发布于 2021-7-19 10:52
浏览
5收藏

一、OpenHarmony2.0 应用开发环境搭建

1、配置OpenHarmony SDK(OpenHarmony SDK 与HarmonyOS 应用开发sdk不通用)

前提条件

已下载并安装好DevEco Studio 2.1 Release,点击链接下载
已获取OpenHarmony SDK包并解压,点击[链接下载(https://mirror.iscas.ac.cn/OpenHarmony/sdk/OpenHarmony-SDK-2.0-Canary.7z)。

配置SDK信息

  • 运行已安装的DevEco Studio,首次使用,请选择Do not import settings,点击OK。

  • 接下来DevEco Studio会根据向导指示,进入到SDK下载界面,HarmonyOS SDK Location选择本地解压的SDK包路径,然后点击Next。

说明: 如果不是首次安装DevEco Studio,可能无法查看进入该界面,可通过欢迎页的Configure (或图标)> Settings > Appearance & Behavior > System Settings > HarmonyOS SDK

界面,点击HarmonyOS SDK Location加载SDK。
Hi3516系列开发版应用开发与安装-开源基础软件社区

  • SDK安装完成后,点击Finish,界面会进入到DevEco Studio欢迎页。
    进入Sdk\js\2.2.0.0\build-tools\ace-loader目录,然后在该目录下运行命令行工具,分别执行如下命令,直至安装完成。
npm cache clean -f 
npm install
  • 如果执行npm install 失败
    Hi3516系列开发版应用开发与安装-开源基础软件社区
  • 可以将ace-loader下面的package-lock.json删掉或者更名,在ace-loader路径直接执行npm install
    Hi3516系列开发版应用开发与安装-开源基础软件社区
    Hi3516系列开发版应用开发与安装-开源基础软件社区

2、导入OpenHarmony工程

OpenHarmony SDK配置完成后,便可以启动应用开发。针对OpenHarmony应用开发,只能通过导入Sample工程的方式来创建一个新工程。

目前,支持OpenHarmony应用开发的Sample工程,请选择导入含有“ This sample is intended for novices at developing OpenHarmony applications. ”说明的Sample,

例如选择common分类中的HelloWorld或者JsHelloWorld
Hi3516系列开发版应用开发与安装-开源基础软件社区
Hi3516系列开发版应用开发与安装-开源基础软件社区
Sample导入后,请打开工程下的build.gradle,修改hap插件的版本号为“2.4.4.3-RC”
Hi3516系列开发版应用开发与安装-开源基础软件社区

二、配置OpenHarmony应用签名信息

OpenHarmony系统上运行的应用必须拥有签名,无签名无法进行安装
Hi3516系列开发版应用开发与安装-开源基础软件社区
Hi3516系列开发版应用开发与安装-开源基础软件社区

OpenHarmony应用签名主要分为四个步骤:

  • 生成秘钥和证书请求文件
  • 生成应用证书文件
  • 生成应用profile文件
  • 配置应用签名信息

1、DevEco Studio来生成密钥文件(.p12文件)和证书请求文件(.csr文件)

点击Build中的Generate Key and CSR
Hi3516系列开发版应用开发与安装-开源基础软件社区
会生成csr、p12两个文件

2、生成应用证书文件

讲步骤1生成的文件复制到Sdk\toolchains\lib(设置sdk的路径)文件夹下
在Sdk\toolchains\lib此目录下进入命令行模式,输入如下指令生成应用证书文件

keytool -gencert -alias "OpenHarmony Application CA" -infile app.csr -outfile IDE.cer -keystore OpenHarmony.p12 -sigalg SHA384withECDSA -storepass 123456 -ext KeyUsage:"critical=digitalSignature" -validity  3650 -rfc

说明: 在上述命令中,标识为蓝色字体的字段不能修改,否则会导致证书生成失败。

关于该命令的参数说明如下:

  • alias:用于签发证书的CA私钥别名,OpenHarmony社区CA私钥存于OpenHarmony.p12密钥库文件中,该参数不能修改。
  • infile:证书请求(CSR)文件的路径。
  • outfile:输出证书链文件名及路径。
  • keystore:签发证书的CA密钥库路径,OpenHarmony密钥库文件名为OpenHarmony.p12,文件在OpenHarmony SDK中Sdk\toolchains\lib路径下,该参数不能修改。请注意,该OpenHarmony.p12文件并不是生成密钥和证书请求文件中生成的.p12文件。
  • sigalg:证书签名算法,该参数不能修改。
  • storepass:密钥库密码,密码为123456,该参数不能修改。
  • ext:证书扩展项,该参数不能修改。
  • validity:证书有效期,自定义天数。
  • rfc:输出文件格式指定,该参数不能修改。
    参考命令
 keytool -gencert -alias "OpenHarmony Application CA" -infile example.csr -outfile IDE.cer -keystore OpenHarmony.p12 -sigalg SHA384withECDSA -storepass 123456 -ext KeyUsage:"critical=digitalSignature" -validity  3650 -rfc

3、生成应用Profile文件

Profile文件包含OpenHarmony应用的包名、数字证书信息、描述应用允许申请的证书权限列表,以及允许应用调试的设备列表(如果应用类型为Release类型,则设备列表为空)等内容,每个应用包中均必须包含一个Profile文件。

** 在Sdk\toolchains\lib此目录下进入命令行模式,输入如下指令生成应用Profile文件**

java -jar provisionsigtool.jar sign --in UnsgnedReleasedProfileTemplate.json --out SgnedReleasedProfileTemplate.p7b --keystore OpenHarmony.p12 --storepass 123456 --alias "OpenHarmony Application Profile Release" --sigAlg SHA256withECDSA --cert OpenHarmonyProfileRelease.pem --validity 365 --developer-id ohosdeveloper --bundle-name 包名 --permission 受限权限名(可选) --permission 受限权限名(可选) --distribution-certificate IDE.cer

关于该命令的参数说明如下:

  • provisionsigtool:Profile文件生成工具,文件在OpenHarmony SDK的Sdk\toolchains\lib路径下。
  • in:Profile模板文件所在路径,文件在OpenHarmony SDK中Sdk\toolchains\lib路径下,该参数不能修改。
  • out:输出的Profile文件名和路径。
  • keystore:签发证书的密钥库路径,OpenHarmony密钥库文件名为OpenHarmony.p12,文件在OpenHarmony SDK中Sdk\toolchains\lib路径下,该参数不能修改。
  • storepass:密钥库密码,密码为123456,该参数不能修改。
  • alias:用于签名Profile私钥别名,OpenHarmony社区CA私钥存于OpenHarmony.p12密钥库文件中,该参数不能修改。
  • sigalg:证书签名算法,该参数不能修改。
  • cert:签名Profile的证书文件路径,文件在OpenHarmony SDK中Sdk\toolchains\lib路径下,该参数不能修改。
  • validity:证书有效期,自定义天数。
  • developer-id:开发者标识符,自定义一个字符串。
  • bundle-name:填写应用包名。
  • permission:可选字段,如果不需要,则可以省去此字段;如果需要添加多个受限权限,则如示例所示重复输入。受限权限列表如下:ohos.permission.READ_CONTACTS、ohos.permission.WRITE_CONTACTS。
  • distribution-certificate:生成应用证书文件中生成的证书文件。
    参考命令
java -jar provisionsigtool.jar sign --in UnsgnedReleasedProfileTemplate.json --out SgnedReleasedProfileTemplate.p7b --keystore OpenHarmony.p12 --storepass 123456 --alias "OpenHarmony Application Profile Release" --sigAlg SHA256withECDSA --cert OpenHarmonyProfileRelease.pem --validity 7200 --developer-id ohosdeveloper --bundle-name ohos.samples.jshelloworld  --distribution-certificate IDE.cer

4、配置签名信息

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

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

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

5、Build应用

点击Build中的Build Hap(s)/APP(S)生成hap应用
Hi3516系列开发版应用开发与安装-开源基础软件社区

6、安装应用

hdc_std install entry-debug-standard-signed.hap
Hi3516系列开发版应用开发与安装-开源基础软件社区
Hi3516系列开发版应用开发与安装-开源基础软件社区
Hi3516系列开发版应用开发与安装-开源基础软件社区

三、hdc工具安装及使用

1、工具配置

配置环境变量后即可使用;

通过usb连接鸿蒙(只需要连接USB即可)

  • 通过hi3516背面的type-c口连接电脑, 目前只有这口能传数据, 底下的口不行

  • 如果成功,可以在电脑 设备管理-用串行总线设备下面看到HDC Device
    Hi3516系列开发版应用开发与安装-开源基础软件社区

  • 打开终端, 输入hdc list targets列出设备

2、常用使用命令

  • 查看版本信息 hdc_std v
  • 查看设备信息 hdc_std list targets -v 
                 Hi3516系列开发版应用开发与安装-开源基础软件社区

远程执行命令或进入交互命令环境 hdc_std shell
Hi3516系列开发版应用开发与安装-开源基础软件社区

  • 抓取log信息 hdc_std hilog

  • 安装应用 install [-r/-d/-g] package

安装OpenHarmony package。

参数 参数说明
package OpenHarmony应用安装包
-r 替换已存在应用
-d 允许降级安装
-g 动态授权
返回值 返回值说明
①返回具体信息②无 ①失败情况下的具体信息②成功情况下无返回值
使用方法(举例):
hdc_std install -r E:\openharmony\code-2.0-canary\applications\standard\hap\Gallery_Demo.hap
  • 卸载应用   uninstall [-k] package
    卸载OpenHarmony应用。
参数 参数说明
package OpenHarmony应用安装包
-k 保留/data/cache
返回值 返回值说明
①返回具体信息②无 ①失败情况下的具体信息②成功情况下无返回值

使用方法(举例):

hdc_std uninstall package
  • 终止hdc服务进程, -r选项会触发再次重启hdc server 如果出现连不上开发版,可以尝试先kill然后再使用start命令启动

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2021-7-20 11:03:25修改
4
收藏 5
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐