Windows开发环境DevEco与hdc—【万物智能之开源鸿蒙 OpenHarmony 系统实战开发系列教程】
口和节点对上了。今天先把 Windows 上的日常工具装起来:DevEco 编应用,hdc 连板子。编系统是 Ubuntu 上的事,先不用碰。
OpenHarmony 把两件事拆开了。编系统,在 Ubuntu 里跑 build.sh。编应用、往板子上装、敲 shell,在 Windows 里用 DevEco Studio 和 hdc。官方还有一个 Device Tool,挂在 VS Code 上远程去编设备,那是另一条入门。我日常不靠它编内核,命令行日志好留,也少一层 IDE 缓存。
这篇只把 Windows 调到:空工程能编出 unsigned hap,插上 OTG 以后 hdc list targets 能看见设备。签名和安装下一篇之后再说。
官方 Windows 设备环境:搭建 Windows 环境
hdc:使用指导


先说路径
DevEco 和 SDK 装在纯英文目录里。C:\ohos\DevEco 可以,C:\用户\张三\鸿蒙 以后总会有脚本在空格或中文上折断。内存 16 GB 比较舒服,SDK 加 IDE 预留几十 GB。
线要用能传数据的。插底板丝印上的 OTG / DEVICE,不要随手插一个 Host。Host 给键鼠和 U 盘,OTG 给电脑。插错口的表现就是设备管理器里没有调试设备,hdc 一直空。
装 DevEco,把 API 11 勾上
下载支持 OpenHarmony API 11 的 DevEco Studio,安装时路径仍然只要英文。第一次启动会要账号,可以后补;SDK 不能后补。
打开 SDK Manager,勾 OpenHarmony SDK,API 选 11,工具链一并装。hdc 就在工具链目录里:
<DevEco>\sdk\default\openharmony\11\toolchains\hdc.exe
有的版本是 Sdk\openharmony\11\。点进去能看见 hdc.exe 就算对。工程里的 local.properties 要指到「里面有 11 目录」的那一层:
sdk.dir=C:/ohos/DevEco/sdk/default/openharmony
指到 11 里面,DevEco 会找不到平台。
hdc 进 PATH
把 toolchains 加到系统 Path,新开一个 cmd。已经打开的窗口不会继承新变量。
hdc -v
hdc list targets
没插板子时列表空,正常。板子系统已经起来、OTG 插上,应出现一串设备号。没有的话按这个顺序,不要先重装 IDE:
换线、换口,确认是 OTG。
设备管理器里若是未知设备,装 USB 调试驱动。hdc kill 再 hdc start。
串口里看 hdcd 在不在,系统没进到用户态时 hdc 也可能没有。
另一台电脑已经连着同一块板,先拔掉。
常用就这几个。管道写在引号里,让板上的 shell 去解释,否则 Windows 的 | 会先动手:
hdc shell
hdc shell "uname -a"
hdc shell "dmesg | tail -20"
hdc file send D:\tmp\foo /data/local/tmp/foo
hdc hilog
Java 11 是给签名用的
DevEco 编应用用它自带的 Node。命令行签 hap 的 hap-sign-tool.jar 要 Java 11。只装了 17 或 21,签出来可能很怪。
java -version
看到 11 再去跑签名。密钥和 p7b 放在源码的 developtools/hapsigner/ 一类目录里,后面写安装失败的错误码时会用到。现在只要知道:DevEco 的「自动签名」对开源鸿蒙设备经常没用,空工程编出的 unsigned hap 还不能装。
空工程编一次,确认工具链活着
新建 Empty Ability,把 Native C++ 勾上,后面 NAPI 用得着。编译 SDK 选 OpenHarmony API 11。
工程根上的版本要对齐 11。entry/build-profile.json5 里 native 的 ABI 带上 armeabi-v7a——板上跑的是 32 位用户态。只写 arm64-v8a,编出来的 so 在板上会直接废。有的 SDK 不允许 v7a 当唯一目标,两个都写,以 v7a 产物为准。
"abiFilters": ["armeabi-v7a", "arm64-v8a"]
Build Hap。成功的话会有:
entry/build/default/outputs/default/entry-default-unsigned.hap
看到这个文件,这篇的目标就到了。装到板上需要签名,那是后面的文章。
和 Linux 那台机器怎么分工
Windows:DevEco、hdc、刷机界面、串口终端。
Linux:编内核、编系统、打 img。
板子:跑。
镜像从 Linux 的 out/ 拷到两边都能看见的目录,带上 md5。不要只留在编译机的 out 里,过两天你会对不上现场那一份。hdc 传大镜像也能用,慢,而且占着调试口。
下一篇从串口 1500000 和刷卡开始,直到桌面出来。那篇会把 dd 的路径写得很烦,因为烦比写错分区好。
系列第 4 篇 · 芯片:瑞芯微 RK3568 · OpenHarmony 4.1(API 11) · Linux 5.10
更多推荐


所有评论(0)