主要记录填坑的过程,大家可以先看看官方文档和几个必须要看的帖子:
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),参考文档
二、关于编译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命令,参考文档
第一个坑:hdc_std的获取
在gitee代码仓可以找到
但是下载下来的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了。