hdc_std 使用指导
hdc_std(OpenHarmony Device Connector)是OpenHarmony为开发人员提供的用于调试的命令行工具,通过该工具可以在Windows/Linux等系统上与开发机或者模拟器进行交互。
下文将介绍hdc_std的环境准备和常用命令及使用举例。
环境准备
hdc_std 工具获取方式:
从开源仓developtools_hdc_standard中获取,具体位置在该开源仓的prebuilt目录,开源仓链接请参考hdc标准开发工具。
使用举例:
下面以windows侧使用方式举例:
从prebuilt/windows侧获取可执行文件hdc_std.exe,放到磁盘某个位置即可使用。
注意事项
- 使用hdc_std,如果出现异常,可以尝试通过hdc_std kill命令杀掉hdc_std服务,或者通过hdc_std start -r命令重启服务进程进行解决。
- 如果出现hdc_std list targets获取不到设备信息,通过任务管理器查看是否有hdc.exe进程存在,如果进程存在,可以通过杀掉该进程进行解决。
option相关的命令
option涉及以下命令:
-h/help -v/version
用于显示hdc相关的帮助、版本信息。
表 1 命令说明
使用方法:
hdc_std -h / hdc_std help
hdc_std -v / hdc_std version
-t key
用于连接指定设备标识为key的设备。
表 2 命令说明
使用方法:
该option需要与具体的操作命令搭配使用,下面以shell命令举例:
hdc_std list targets (获取设备信息)
hdc_std -t key shell (-t后面添加的_key_ 需要替换为上面查询的设备信息)
说明: 一台开发机可支持多个设备连接,每个设备有其唯一的设备标识,如果通过网络与设备连接,其标识为tcp:port格式,如果通过usb连接则标识为设备sn号。该命令需要跟随具体操作命令。
查询设备列表的命令
查询设备列表涉及以下命令:
list targets[-v]
显示所有已经连接的目标设备列表
表 3 命令说明
使用方法:
hdc_std list targets
hdc_std list targets -v
服务进程相关命令
服务进程涉及以下命令:
target mount
以读写模式挂载/system等分区。
表 4 命令说明
使用方法:
hdc_std target mount
smode [off]
授予后台服务进程root权限, 使用off参数取消授权。
使用方法:
hdc_std smode
hdc_std smode off
kill [-r]
终止服务进程。
表 5 命令说明
使用方法:
hdc_std kill
start [-r]
启动服务进程。
表 6 命令说明
使用方法:
hdc_std start
网络相关的命令
网络部分涉及以下命令:
tconn host[:port][-remove]
通过【ip地址:端口号】来指定连接的设备
表 7 命令说明
使用方法(举例):
hdc_std tconn 192.168.0.100:8710
tmode usb
执行后设备端对应daemon进程重启,并首先选用usb连接方式。
表 8 命令说明
使用方法:
hdc_std tmode usb
tmode port port-number
执行后设备端对应daemon进程重启,并优先使用网络方式连接设备,如果连接设备再选择usb连接。
表 9 命令说明
使用方法:
hdc_std tmode port 8710
说明: 执行完毕后,远端daemon将会退出并重启,默认启用TCP连接,如果不加上listen端口则listen随机端口。
文件相关的命令
文件部分涉及以下命令:
file send local remote
发送文件至远端设备。
表 10 命令说明
使用方法(举例):
hdc_std file send E:\a.txt /data/local/tmp/a.txt
file recv [-a] remote local
从远端设备接收文件至本地。
表 11 命令说明
使用方法(举例):
hdc_std file recv /data/local/tmp/a.txt ./a.txt
应用相关的命令
应用部分涉及以下命令:
install [-r/-d/-g] package
安装OpenHarmony package。
表 12 命令说明
使用方法(举例):
hdc_std install hwadmin.hap
uninstall [-k] package
卸载OpenHarmony应用。
表 13 命令说明
使用方法(举例):
hdc_std uninstall package
调试相关的命令
调试涉及以下命令:
hilog
支持抓取log信息。
表 14 命令说明
使用方法:
hdc_std hilog
shell [command]
远程执行命令或进入交互命令环境。
表 15 命令说明
使用方法:
hdc_std shell
常见问题
hdc_std连接不到设备
-
现象描述
执行 "hdc_std list targets"命令后结果为:[Empty]
-
解决方法
-
设备没有被识别:
在设备管理器中查看是否有hdc设备,在通用串行总线设备中会有“HDC Device”信息。如果没有,hdc无法连接。此时需要插拔设备,或者烧写最新的镜像。
-
hdc_std工作异常:
可以执行"hdc kill"或者"hdc start -r"杀掉hdc服务或者重启hdc服务,然后再执行hdc list targets查看是否已经可以获取设备信息。
-
hdc_std与设备不匹配:
如果设备烧写的是最新镜像,hdc_std也需要使用最新版本。由于hdc_std会持续更新,请从开源仓developtools_hdc_standard中获取,具体位置在该开源仓的prebuilt目录。
-
hdc_std运行不了
-
现象描述
点击hdc_std.exe文件无法运行。
-
解决方法
hdc_std.exe不需要安装,直接放到磁盘上就能使用,也可以添加到环境变量中。通过打开cmd执行hdc_std命令直接使用。