# hdc\_std 使用指导
- [环境准备](#section05992022154916)
- [注意事项](#section19543134915210)
- [option相关的命令](#section618522925119)
- [查询设备列表的命令](#section174891132104218)
- [服务进程相关命令](#section680531510497)
- [网络相关的命令](#section71176123212)
- [文件相关的命令](#section173133523013)
- [应用相关的命令](#section2072647133819)
- [调试相关的命令](#section112861250195015)
- [常见问题](#section592920255582)
- [hdc\_std连接不到设备](#section74019384588)
- [hdc\_std运行不了](#section63291491267)
hdc\_std(OpenHarmony Device Connector)是OpenHarmony为开发人员提供的用于调试的命令行工具,通过该工具可以在Windows/Linux等系统上与开发机或者模拟器进行交互。
下文将介绍hdc\_std的环境准备和常用命令及使用举例。
## 环境准备
**hdc\_std 工具获取方式:**
通过OpenHarmony sdk获取,hdc_std在sdk的toolchains目录下。
**使用举例:**
下面以windows侧使用方式举例:
获取windows的sdk,将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** 命令说明
参数
|
参数说明
|
key
|
为tcp:port格式,或者USB序列号
|
返回值
|
返回值说明
|
①error: device '***' not found
②Nothing to do...
|
①设备不存在
②附加的命令不存在
|
使用方法:
该option需要与具体的操作命令搭配使用,下面以shell命令举例:
hdc\_std list targets (获取设备信息)
hdc\_std -t _key_ shell (-t后面添加的_key_ 需要替换为上面查询的设备信息)
>![](../public_sys-resources/icon-note.gif) **说明:**
>一台开发机可支持多个设备连接,每个设备有其唯一的设备标识,如果通过网络与设备连接,其标识为tcp:port格式,如果通过usb连接则标识为设备sn号。该命令需要跟随具体操作命令。
## 查询设备列表的命令
查询设备列表涉及以下命令:
**list targets\[-v\]**
显示所有已经连接的目标设备列表
**表 3** 命令说明
参数
|
参数说明
|
-v
|
添加-v选项,则会打印设备详细信息
|
返回值
|
返回值说明
|
①返回设备信息
②[Empty]
|
①已经连接的设备列表信息
②没有查询到设备信息
|
使用方法:
hdc\_std list targets
hdc\_std list targets -v
## 服务进程相关命令
服务进程涉及以下命令:
**target mount**
以读写模式挂载/system等分区。
**表 4** 命令说明
参数
|
参数说明
|
无
|
无
|
返回值
|
返回值说明
|
①Mount finish
②返回具体信息
|
①成功情况下返回的信息
②失败情况下的具体信息
|
使用方法:
hdc\_std target mount
**smode \[off\]**
授予后台服务进程root权限, 使用off参数取消授权。
使用方法:
hdc\_std smode
hdc\_std smode off
**kill \[-r\]**
终止服务进程。
**表 5** 命令说明
参数
|
参数说明
|
-r
|
触发服务重启
|
返回值
|
返回值说明
|
①Kill server finish
②返回具体信息
|
①成功情况下返回的信息
②失败情况下的具体信息
|
使用方法:
hdc\_std kill
**start \[-r\]**
启动服务进程。
**表 6** 命令说明
参数
|
参数说明
|
-r
|
如果服务进程已经启动,-r选项会触发服务进程重新启动
|
返回值
|
返回值说明
|
无
|
无
|
使用方法:
hdc\_std start
## 网络相关的命令
网络部分涉及以下命令:
**tconn host\[:port\]\[-remove\]**
通过【ip地址:端口号】来指定连接的设备
**表 7** 命令说明
参数
|
参数说明
|
host[:port]
|
为tcp:port格式
|
-remove
|
表示断开与指定设备的连接
|
返回值
|
返回值说明
|
①返回具体信息
②无
|
①失败情况下的具体信息
②成功情况下无返回值
|
使用方法(举例):
hdc\_std tconn 192.168.0.100:8710
**tmode usb**
执行后设备端对应daemon进程重启,并首先选用usb连接方式。
**表 8** 命令说明
参数
|
参数说明
|
无
|
无
|
返回值
|
返回值说明
|
①返回具体信息
②无
|
①失败情况下的具体信息
②成功情况下无返回值
|
使用方法:
hdc\_std tmode usb
**tmode port port-number**
执行后设备端对应daemon进程重启,并优先使用网络方式连接设备,如果连接设备再选择usb连接。
**表 9** 命令说明
参数
|
参数说明
|
port-number
|
listen连接的网络端口号
|
返回值
|
返回值说明
|
①返回具体信息
②无
|
①失败情况下的具体信息
②成功情况下无返回值
|
使用方法:
hdc\_std tmode port 8710
>![](../public_sys-resources/icon-note.gif) **说明:**
>执行完毕后,远端daemon将会退出并重启,默认启用TCP连接,如果不加上listen端口则listen随机端口。
## 文件相关的命令
文件部分涉及以下命令:
**file send local remote**
发送文件至远端设备。
**表 10** 命令说明
参数
|
参数说明
|
local
|
本地待发送文件路径
|
remote
|
远程待接收文件路径
|
返回值
|
返回值说明
|
①返回具体信息
②返回传输结果
|
①失败情况下的具体信息
②成功传输的结果信息
|
使用方法(举例):
hdc\_std file send E:\\a.txt /data/local/tmp/a.txt
**file recv \[-a\] remote local**
从远端设备接收文件至本地。
**表 11** 命令说明
参数
|
参数说明
|
-a
|
文件保留时间戳模式
|
local
|
本地待接收文件路径
|
remote
|
远程待发送文件路径
|
返回值
|
返回值说明
|
①返回具体信息
②无
|
①失败情况下的具体信息
②成功情况下无返回值
|
使用方法(举例):
hdc\_std file recv /data/local/tmp/a.txt ./a.txt
## 应用相关的命令
应用部分涉及以下命令:
**install \[-r/-d/-g\] _package_**
安装OpenHarmony package。
**表 12** 命令说明
参数
|
参数说明
|
package
|
OpenHarmony应用安装包
|
-r
|
替换已存在应用
|
-d
|
允许降级安装
|
-g
|
动态授权
|
返回值
|
返回值说明
|
①返回具体信息
②无
|
①失败情况下的具体信息
②成功情况下无返回值
|
使用方法(举例):
hdc\_std install _hwadmin.hap_
**uninstall \[-k\] package**
卸载OpenHarmony应用。
**表 13** 命令说明
参数
|
参数说明
|
package
|
OpenHarmony应用安装包
|
-k
|
保留/data/cache
|
返回值
|
返回值说明
|
①返回具体信息
②无
|
①失败情况下的具体信息
②成功情况下无返回值
|
使用方法(举例):
hdc\_std uninstall _package_
## 调试相关的命令
调试涉及以下命令:
**hilog**
支持抓取log信息。
**表 14** 命令说明
参数
|
参数说明
|
无
|
无
|
返回值
|
返回值说明
|
返回具体信息
|
抓取的日志信息
|
抓取hilog日志:
hdc\_std hilog
清理hilog缓存日志:
hdc_std shell "hilog -r"
>![](../public_sys-resources/icon-note.gif) **说明:**
>更多hilog操作命令请参考[hilog组件使用说明](https://gitee.com/openharmony/hiviewdfx_hilog/blob/master/README_zh.md#%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E)。
**shell \[_command_\]**
远程执行命令或进入交互命令环境。
**表 15** 命令说明
参数
|
参数说明
|
command
|
需要执行的单次命令
|
返回值
|
返回值说明
|
返回具体信息
|
shell后面执行命令的结果信息
|
使用方法:
hdc\_std shell
## 常见问题
### hdc\_std连接不到设备
- **现象描述**
执行 "hdc\_std list targets"命令后结果为:\[Empty\]
- **解决方法**
1. 设备没有被识别:
在设备管理器中查看是否有hdc设备,在通用串行总线设备中会有“HDC Device”信息。如果没有,hdc无法连接。此时需要插拔设备,或者烧写最新的镜像。
2. hdc\_std工作异常:
可以执行"hdc kill"或者"hdc start -r"杀掉hdc服务或者重启hdc服务,然后再执行hdc list targets查看是否已经可以获取设备信息。
3. hdc\_std与设备不匹配:
如果设备烧写的是最新镜像,hdc\_std也需要使用最新版本。由于hdc\_std会持续更新,请从开源仓developtools\_hdc\_standard中获取,具体位置在该开源仓的prebuilt目录。
### hdc\_std运行不了
- **现象描述**
点击hdc\_std.exe文件无法运行。
- **解决方法**
hdc\_std.exe不需要安装,直接放到磁盘上就能使用,也可以添加到环境变量中。通过打开cmd执行hdc\_std命令直接使用。