3分钟搞定鸿蒙开发版应用开发!

把酒临风 2021-07-22 10:46:17 4229


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\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

③生成应用 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

④配置签名信息

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

来源:鸿蒙技术社区

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 92 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
把酒临风
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区