OpenHarmony2.0编写并运行第一个hap

主要记录填坑的过程,大家可以先看看官方文档和几个必须要看的帖子:

https://harmonyos.51cto.com/posts/5359

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/build_hap-0000001053342418

一、关于开发环境

我的是windows10+DevEco Studio 2.1 build version 2.1.0.501

这里需要注意的是,DevEco需要用到的SDK应该使用OpenHarmony的SDK(OpenHarmony-SDK-2.0-Canary),参考文档

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/%E9%85%8D%E7%BD%AEOpenHarmony-SDK.md

二、关于编译hap程序及签名

第一个坑,缺少aapt2.exe:

java.io.IOException: Cannot run program "C:\SDKTemp\OpenHarmony-SDK-2.0-Canary\toolchains\install-assistant\aapt2.exe": CreateProcess error=2, 系统找不到指定的文件。

该文件可以在DevEco Studio默认SDK目录下找到,我的是在:

C:\Users\Administrator\AppData\Local\Huawei\Sdk\toolchains

把install-assistant目录拷到OpenHarmony SDK目录下即可。

第二个坑:代码编译成功,但是签名失败

可能的原因有多个,先检查Project Structure配置

如果上述配置没有问题,检查签名文件生成过程,需要注意的两个点

生成Key和CSR时,信息填写完整,建议是红框内的都填上

使用Java工具生成签名文件的过程中,生成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

bundle-name:填写应用包名。

这个包名,要和hap应用里面的包名一致

如果仍然签名不成功,建议删除hap目录重新创建,重新配置试试。

三、关于hap安装

hap安装到openHarmony,可以通过hdc_std命令,参考文档

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/%E5%AE%89%E8%A3%85%E8%BF%90%E8%A1%8COpenHarmony%E5%BA%94%E7%94%A8.md

第一个坑:hdc_std的获取

在gitee代码仓可以找到

developtools_hdc_standard

但是下载下来的windows版本hdc_std文件只有1kb,无法运行。可以在OpenHarmony Canary2.0源代码目录下找到该文件,拷贝到windows下使用

code-2.0-canary\developtools\hdc_standard

第二个坑:润和3516开发板连接pc

要使用hdc_std,需要用type-c的线连接3516开发板背部的接口,不是串口。

连接后用hdc_std list targets可以列出设备,就可以安装hap了。

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值