Hi3516系列开发版应用开发与安装 原创 精华
一、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。
- 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
2、导入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文件
- 配置应用签名信息
1、DevEco Studio来生成密钥文件(.p12文件)和证书请求文件(.csr文件)
点击Build中的Generate Key and CSR
会生成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应用
6、安装应用
hdc_std install entry-debug-standard-signed.hap
三、hdc工具安装及使用
1、工具配置
- 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列出设备
2、常用使用命令
- 查看版本信息 hdc_std v
- 查看设备信息 hdc_std list targets -v
远程执行命令或进入交互命令环境 hdc_std shell
-
抓取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命令启动
分享的很全面,感谢。
是不是有张图 挂了。。
已更新