图片

OpenHarmony2.0 应用开发环境搭建


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


前提条件:

  • 已下载并安装好 DevEco Studio 2.1 Release

  • 已获取 OpenHarmony SDK 包并解压


下载链接:
https://developer.harmonyos.com/cn/develop/deveco-studio#download
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。

图片

SDK 安装完成后,点击 Finish,界面会进入到 DevEco Studio 欢迎页。


进入 Sdk\\js\\2.2.0.0\\build-tools\\ace-loader 目录,然后在该目录下运行命令行工具,分别执行如下命令,直至安装完成。

npm cache clean -f 
npm install

图片

如果执行 npm install 失败,可以将 ace-loader 下面的 package-lock.json 删掉或者更名,在 ace-loader 路径直接执行 npm install:

图片

图片

②导入 OpenHarmony 工程


OpenHarmony SDK 配置完成后,便可以启动应用开发。


针对 OpenHarmony 应用开发,只能通过导入 Sample 工程的方式来创建一个新工程。


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


例如选择 common 分类中的 HelloWorld 或者 JsHelloWorld:

图片

图片

Sample 导入后,请打开工程下的 build.gradle,修改 hap 插件的版本号为“2.4.4.3-RC”:

图片

配置 OpenHarmony 应用签名信息


OpenHarmony 系统上运行的应用必须拥有签名,无签名无法进行安装:

图片

图片
OpenHarmony 应用签名主要分为四个步骤:
  • 生成秘钥和证书请求文件

  • 生成应用证书文件

  • 生成应用 profile 文件

  • 配置应用签名信息


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


点击 Build 中的 Generate Key and CSR,会生成 csr、p12 两个文件:

图片

②生成应用证书文件


将步骤 1 生成的文件复制到 Sdk\oolchains\\lib(设置 sdk 的路径)文件夹下。

在 Sdk\oolchains\\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\oolchains\\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


③生成应用 Profile 文件


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


在 Sdk\oolchains\\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\oolchains\\lib 路径下。

  • in:Profile 模板文件所在路径,文件在 OpenHarmony SDK 中 Sdk\oolchains\\lib 路径下,该参数不能修改。

  • out:输出的 Profile 文件名和路径。

  • keystore:签发证书的密钥库路径,OpenHarmony 密钥库文件名为 OpenHarmony.p12,文件在 OpenHarmony SDK 中 Sdk\oolchains\\lib 路径下,该参数不能修改。

  • storepass:密钥库密码,密码为 123456,该参数不能修改。

  • alias:用于签名 Profile 私钥别名,OpenHarmony 社区 CA 私钥存于 OpenHarmony.p12 密钥库文件中,该参数不能修改。

  • sigalg:证书签名算法,该参数不能修改。

  • cert:签名 Profile 的证书文件路径,文件在 OpenHarmony SDK 中 Sdk\oolchains\\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


④配置签名信息


在真机设备上调试前,需要使用到制作的私钥(.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。

⑤Build 应用


点击 Build 中的 Build Hap(s)/APP(S) 生成 hap 应用:

图片

⑥安装应用


hdc_std install entry-debug-standard-signed.hap:

图片

图片

图片

hdc 工具安装及使用


①工具配置


hdc 工具官方 gitee 链接:

https://gitee.com/openharmony/developtools_hdc_standard

hdc 工具在源码目录下:

developtools/hdc_standard/prebuilt/windows/hdc_std.exe

配置环境变量后即可使用;通过 usb 连接鸿蒙(只需要连接 USB 即可)。


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

如果成功,可以在电脑设备管理-用串行总线设备下面看到 HDC Device:

图片

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

②常用使用命令


查看版本信息 hdc_std v;查看设备信息 hdc_std list targets -v。

图片

远程执行命令或进入交互命令环境 hdc_std shell:

图片

抓取 log 信息 hdc_std hilog,安装应用 install [-r/-d/-g] package。


安装 OpenHarmony package:

图片

使用方法(举例):

hdc_std install -r E:\\openharmony\\code-2.0-canary\\applications\\standard\\hap\\Gallery_Demo.hap


卸载应用 uninstall [-k] package。

卸载 OpenHarmony 应用:

图片

使用方法(举例):

hdc_std uninstall package


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

图片

👇点击关注鸿蒙技术社区👇

鸿蒙技术社区
鸿蒙技术社区
HarmonyOS(鸿蒙)技术社区是由51CTO和华为共同打造的综合性开发和应用技术社区。
157篇原创内容
公众号

了解鸿蒙一手资讯


图片

“阅读原文”了解更多

来源:https://mp.weixin.qq.com/s/hBox_uYjinhn1GppJRP-og
点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部