Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
52f9079d
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
52f9079d
编写于
10月 27, 2022
作者:
O
openharmony_ci
提交者:
Gitee
10月 27, 2022
浏览文件
操作
浏览文件
下载
差异文件
!11066 rename hdc_std to hdc and add drive version
Merge pull request !11066 from liuguang/master
上级
abb2de79
24bfae13
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
166 addition
and
163 deletion
+166
-163
zh-cn/device-dev/subsystems/subsys-toolchain-hdc-guide.md
zh-cn/device-dev/subsystems/subsys-toolchain-hdc-guide.md
+166
-163
未找到文件。
zh-cn/device-dev/subsystems/subsys-toolchain-hdc-guide.md
浏览文件 @
52f9079d
# hdc
_std
使用指导
# hdc使用指导
hdc
_std
(OpenHarmony Device Connector)是 OpenHarmony 为开发人员提供的用于调试的命令行工具,通过该工具可以在Windows/Linux/MacOS等系统上与开发机或者模拟器进行交互。
hdc(OpenHarmony Device Connector)是 OpenHarmony 为开发人员提供的用于调试的命令行工具,通过该工具可以在Windows/Linux/MacOS等系统上与开发机或者模拟器进行交互。
下文将介绍hdc
_std
的环境准备和常用命令及使用举例。
下文将介绍hdc的环境准备和常用命令及使用举例。
## 环境准备
**hdc
_std
工具获取方式:**
**hdc 工具获取方式:**
通过OpenHarmony sdk获取,hdc
_std
在sdk的toolchains目录下。
通过OpenHarmony sdk获取,hdc在sdk的toolchains目录下。
**使用举例:**
下面以windows侧使用方式举例:
获取windows的sdk,将hdc
_std
.exe放到磁盘某个位置即可使用。
获取windows的sdk,将hdc.exe放到磁盘某个位置即可使用。
## 注意事项
-
使用hdc
_std,如果出现异常,可以尝试通过hdc_std kill命令杀掉hdc_std服务,或者通过hdc_std
start -r命令重启服务进程进行解决。
-
使用hdc
,如果出现异常,可以尝试通过hdc kill命令杀掉hdc服务,或者通过hdc
start -r命令重启服务进程进行解决。
-
如果出现hdc
_std list targets获取不到设备信息,通过任务管理器查看是否有hdc_std
进程存在,如果进程存在,可以通过杀掉该进程进行解决。
-
如果出现hdc
list targets获取不到设备信息,通过任务管理器查看是否有hdc
进程存在,如果进程存在,可以通过杀掉该进程进行解决。
## option相关的命令
...
...
@@ -36,29 +36,29 @@ option涉及以下命令:
用于显示hdc相关的帮助、版本信息。
**表1** 命令说明
| 返回值 | 返回值说明|
| 返回值 | 返回值说明|
| -------- | -------- |
| 返回对应信息 | 帮助或者版本信息 |
| 返回对应信息 | 帮助或者版本信息 |
使用方法:
```
hdc
_std -h / hdc_std
help
hdc
-h / hdc
help
```
```
hdc
_std -v / hdc_std
version
hdc
-v / hdc
version
```
-
**-l 0-5**
用于指定运行时日志等级,默认为LOG_INFO。
**表2** 命令说明
| 参数 | 参数说明 |
| 参数 | 参数说明 |
| -------- | -------- |
| 0 | LOG_OFF |
| 1 | LOG_FATAL|
...
...
@@ -70,27 +70,27 @@ option涉及以下命令:
使用方法:
```
hdc
_std
-l5 start
hdc -l5 start
```
-
**-t key**
用于连接指定设备标识为key的设备。
**表3** 命令说明
| 参数 | 参数说明 |
| 参数 | 参数说明 |
| -------- | -------- |
| key | 为
IP地址:port
格式,或者USB序列号 |
|
**返回值**
|
**返回值说明**
|
| ①error:
device
'\*\*\*'
not
found
<br/>
②Nothing
to
do... | ①设备不存在
<br/>
②附加的命令不存在 |
| key | 为
IP地址:port
格式,或者USB序列号 |
|
**返回值**
|
**返回值说明**
|
| ①error:
device
'\*\*\*'
not
found
<br/>
②Nothing
to
do... | ①设备不存在
<br/>
②附加的命令不存在 |
使用方法:
该option需要与具体的操作命令搭配使用,下面以shell命令举例:
hdc
_std
list targets (获取设备信息)
hdc list targets (获取设备信息)
hdc
_std
-t _key_ shell (-t后面添加的_key_ 需要替换为上面查询的设备信息)
hdc -t _key_ shell (-t后面添加的_key_ 需要替换为上面查询的设备信息)
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 一台开发机可支持多个设备连接,每个设备有其唯一的设备标识,如果通过网络与设备连接,其标识为IP地址:port格式,如果通过USB连接则标识为设备sn号。该命令需要跟随具体操作命令。
...
...
@@ -99,15 +99,15 @@ option涉及以下命令:
用于获取client-server版本。
**表4** 命令说明
| 返回值 | 返回值说明|
| 返回值 | 返回值说明|
| -------- | -------- |
| Client version: server version: | client-server版本号 |
使用方法:
```
hdc
_std
checkserver
hdc checkserver
```
...
...
@@ -115,7 +115,7 @@ option涉及以下命令:
查询设备列表涉及以下命令:
```
list targets[-v]
```
...
...
@@ -126,25 +126,25 @@ list targets[-v]
**表5**
命令说明
| 参数 | 参数说明|
| 参数 | 参数说明|
| -------- | -------- |
| -v | 添加-v选项,则会打印设备详细信息 |
|
**返回值**
|
**返回值说明**
|
| ①返回设备信息
<br/>
②[Empty] | ①已经连接的设备列表信息
<br/>
②没有查询到设备信息 |
| -v | 添加-v选项,则会打印设备详细信息 |
|
**返回值**
|
**返回值说明**
|
| ①返回设备信息
<br/>
②[Empty] | ①已经连接的设备列表信息
<br/>
②没有查询到设备信息 |
使用方法:
```
hdc
_std
list targets
hdc list targets
```
```
hdc
_std
list targets -v
hdc list targets -v
```
...
...
@@ -157,18 +157,18 @@ hdc_std list targets -v
以读写模式挂载系统分区。
**表6** 命令说明
| 参数 | 参数说明 |
| 参数 | 参数说明 |
| -------- | -------- |
| 无 | 无 |
|
**返回值**
|
**返回值说明**
|
| ①Mount
finish
<br/>
②返回具体信息 | ①成功情况下返回的信息
<br/>
②失败情况下的具体信息 |
| 无 | 无 |
|
**返回值**
|
**返回值说明**
|
| ①Mount
finish
<br/>
②返回具体信息 | ①成功情况下返回的信息
<br/>
②失败情况下的具体信息 |
使用方法:
```
hdc
_std
target mount
hdc target mount
```
-
**target boot**
...
...
@@ -176,9 +176,9 @@ hdc_std list targets -v
使用方法:
```
hdc
_std
target boot
hdc target boot
```
-
**smode [-r]**
...
...
@@ -186,48 +186,48 @@ hdc_std list targets -v
使用方法:
```
hdc
_std
smode
hdc smode
```
```
hdc
_std
smode -r
hdc smode -r
```
-
**kill [-r]**
终止服务进程。
**表7** 命令说明
| 参数 | 参数说明 |
| 参数 | 参数说明 |
| -------- | -------- |
| -r | 触发服务重启 |
|
**返回值**
|
**返回值说明**
|
| ①Kill
server
finish
<br/>
②返回具体信息 | ①成功情况下返回的信息
<br/>
②失败情况下的具体信息 |
| -r | 触发服务重启 |
|
**返回值**
|
**返回值说明**
|
| ①Kill
server
finish
<br/>
②返回具体信息 | ①成功情况下返回的信息
<br/>
②失败情况下的具体信息 |
使用方法:
```
hdc
_std
kill
hdc kill
```
-
**start [-r]**
启动服务进程。
**表8** 命令说明
| 参数 | 参数说明 |
| -------- | -------- |
| -r | 如果服务进程已经启动,-r选项会触发服务进程重新启动 |
|
**返回值**
|
**返回值说明**
|
| 无 | 无 |
| -r | 如果服务进程已经启动,-r选项会触发服务进程重新启动 |
|
**返回值**
|
**返回值说明**
|
| 无 | 无 |
使用方法:
```
hdc
_std
start
hdc start
```
...
...
@@ -240,55 +240,55 @@ hdc_std list targets -v
通过【ip地址:端口号】来指定连接的设备
**表9** 命令说明
| 参数 | 参数说明 |
| 参数 | 参数说明 |
| -------- | -------- |
| host[:port] | 为IP地址:port格式 |
| -remove | 表示断开与指定设备的连接 |
|
**返回值**
|
**返回值说明**
|
| ①返回具体信息
<br/>
②无 | ①失败情况下的具体信息
<br/>
②成功情况下无返回值 |
| host[:port] | 为IP地址:port格式 |
| -remove | 表示断开与指定设备的连接 |
|
**返回值**
|
**返回值说明**
|
| ①返回具体信息
<br/>
②无 | ①失败情况下的具体信息
<br/>
②成功情况下无返回值 |
使用方法(举例):
```
hdc
_std
tconn 192.168.0.100:8710
hdc tconn 192.168.0.100:8710
```
-
**tmode usb**
执行后设备端对应daemon进程重启,并首先选用USB连接方式。
**表10** 命令说明
| 参数 | 参数说明 |
| 参数 | 参数说明 |
| -------- | -------- |
| 无 | 无 |
|
**返回值**
|
**返回值说明**
|
| ①返回具体信息
<br/>
②无 | ①失败情况下的具体信息
<br/>
②成功情况下无返回值 |
| 无 | 无 |
|
**返回值**
|
**返回值说明**
|
| ①返回具体信息
<br/>
②无 | ①失败情况下的具体信息
<br/>
②成功情况下无返回值 |
使用方法:
```
hdc
_std
tmode usb
hdc tmode usb
```
-
**tmode port port-number**
执行后设备端对应daemon进程重启,并优先使用网络方式连接设备,如果连接设备失败,再选择USB连接。
**表11** 命令说明
| 参数 | 参数说明 |
| -------- | -------- |
| port-number | listen连接的网络端口号 |
|
**返回值**
|
**返回值说明**
|
| ①返回具体信息
<br/>
②无 | ①失败情况下的具体信息
<br/>
②成功情况下无返回值 |
| -------- | -------- |
| port-number | listen连接的网络端口号 |
|
**返回值**
|
**返回值说明**
|
| ①返回具体信息
<br/>
②无 | ①失败情况下的具体信息
<br/>
②成功情况下无返回值 |
使用方法:
```
hdc
_std
tmode port 8710
hdc tmode port 8710
```
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
...
...
@@ -299,9 +299,9 @@ hdc_std list targets -v
使用方法:
```
hdc
_std
fport tcp:1234 tcp:1080
hdc fport tcp:1234 tcp:1080
```
-
**rport remotenode localnode**
...
...
@@ -309,28 +309,28 @@ hdc_std list targets -v
使用方法:
```
hdc
_std rport tcp:2080 tcp:2345
hdc
rport tcp:2080 tcp:2345
```
-
**fport ls**
列出全部转发端口转发任务。
**表12** 命令说明
| 参数 | 参数说明 |
| 参数 | 参数说明 |
| -------- | -------- |
| 无 | 无 |
|
**返回值**
|
**返回值说明**
|
| 'tcp:1234 tcp:1080' [Forward] | 正向端口转发任务 |
| 'tcp:2080 tcp:2345' [Reverse] | 反向端口转发任务 |
| 无 | 无 |
|
**返回值**
|
**返回值说明**
|
| 'tcp:1234 tcp:1080' [Forward] | 正向端口转发任务 |
| 'tcp:2080 tcp:2345' [Reverse] | 反向端口转发任务 |
使用方法:
```
hdc
_std fport ls
hdc
fport ls
```
-
**fport rm**
...
...
@@ -338,9 +338,9 @@ hdc_std list targets -v
使用方法:
```
hdc
_std fport rm tcp:1234 tcp:1080
hdc
fport rm tcp:1234 tcp:1080
```
...
...
@@ -353,39 +353,39 @@ hdc_std list targets -v
发送文件至远端设备。
**表13** 命令说明
| 参数 | 参数说明 |
| 参数 | 参数说明 |
| -------- | -------- |
| local | 本地待发送文件路径 |
| remote | 远程待接收文件路径 |
|
**返回值**
|
**返回值说明**
|
| ①返回具体信息
<br/>
②返回传输结果 | ①失败情况下的具体信息
<br/>
②成功传输的结果信息 |
| local | 本地待发送文件路径 |
| remote | 远程待接收文件路径 |
|
**返回值**
|
**返回值说明**
|
| ①返回具体信息
<br/>
②返回传输结果 | ①失败情况下的具体信息
<br/>
②成功传输的结果信息 |
使用方法(举例):
```
hdc
_std
file send E:\a.txt /data/local/tmp/a.txt
hdc file send E:\a.txt /data/local/tmp/a.txt
```
-
**file recv [-a] remote local**
从远端设备接收文件至本地。
**表14** 命令说明
| 参数 | 参数说明 |
| 参数 | 参数说明 |
| -------- | -------- |
| -a | 文件保留时间戳模式 |
| local | 本地待接收文件路径 |
| remote | 远程待发送文件路径 |
|
**返回值**
|
**返回值说明**
|
| ①返回具体信息
<br/>
②无 | ①失败情况下的具体信息
<br/>
②成功情况下无返回值 |
| -a | 文件保留时间戳模式 |
| local | 本地待接收文件路径 |
| remote | 远程待发送文件路径 |
|
**返回值**
|
**返回值说明**
|
| ①返回具体信息
<br/>
②无 | ①失败情况下的具体信息
<br/>
②成功情况下无返回值 |
使用方法(举例):
```
hdc
_std
file recv /data/local/tmp/a.txt ./a.txt
hdc file recv /data/local/tmp/a.txt ./a.txt
```
...
...
@@ -398,40 +398,40 @@ hdc_std list targets -v
安装OpenHarmony APP package。
**表15** 命令说明
| 参数 | 参数说明 |
| 参数 | 参数说明 |
| -------- | -------- |
| package | OpenHarmony应用安装包文件名 |
| -r | 替换已存在应用 |
| -d | 允许降级安装 |
| -g | 应用动态授权 |
|
**返回值**
|
**返回值说明**
|
| ①返回具体信息
<br/>
②无 | ①失败情况下的具体信息
<br/>
②成功情况下无返回值 |
| package | OpenHarmony应用安装包文件名 |
| -r | 替换已存在应用 |
| -d | 允许降级安装 |
| -g | 应用动态授权 |
|
**返回值**
|
**返回值说明**
|
| ①返回具体信息
<br/>
②无 | ①失败情况下的具体信息
<br/>
②成功情况下无返回值 |
使用方法(举例):
```
hdc
_std
install hwadmin.hap
hdc install hwadmin.hap
```
-
**uninstall [-k] package**
卸载OpenHarmony应用。
**表16** 命令说明
| 参数 | 参数说明 |
| 参数 | 参数说明 |
| -------- | -------- |
| package | OpenHarmony应用安装包 |
| -k | 保留/data/cache |
|
**返回值**
|
**返回值说明**
|
| ①返回具体信息
<br/>
②无 | ①失败情况下的具体信息
<br/>
②成功情况下无返回值 |
| package | OpenHarmony应用安装包 |
| -k | 保留/data/cache |
|
**返回值**
|
**返回值说明**
|
| ①返回具体信息
<br/>
②无 | ①失败情况下的具体信息
<br/>
②成功情况下无返回值 |
使用方法(举例):
```
hdc
_std
uninstall package
hdc uninstall package
```
...
...
@@ -444,43 +444,43 @@ hdc_std list targets -v
支持抓取log信息。
**表17** 命令说明
| 参数 | 参数说明 |
| 参数 | 参数说明 |
| -------- | -------- |
| 无 | 无 |
|
**返回值**
|
**返回值说明**
|
| 返回具体信息 | 抓取的日志信息 |
| 无 | 无 |
|
**返回值**
|
**返回值说明**
|
| 返回具体信息 | 抓取的日志信息 |
抓取hilog日志:
```
hdc
_std
hilog
hdc hilog
```
清理hilog缓存日志:
```
hdc
_std
shell "hilog -r"
hdc shell "hilog -r"
```
-
**shell [_command_]**
远程执行命令或进入交互命令环境。
**表18** 命令说明
| 参数 | 参数说明 |
| -------- | -------- |
| command | 需要执行的单次命令 |
|
**返回值**
|
**返回值说明**
|
| 返回具体信息 | shell后面执行命令的结果信息 |
| -------- | -------- |
| command | 需要执行的单次命令 |
|
**返回值**
|
**返回值说明**
|
| 返回具体信息 | shell后面执行命令的结果信息 |
使用方法:
```
hdc
_std
shell
hdc shell
```
-
**jpid**
...
...
@@ -488,36 +488,39 @@ hdc_std list targets -v
使用方法:
```
hdc
_std
jpid
hdc jpid
```
## 常见问题
### hdc
_std
连接不到设备
### hdc连接不到设备
-
**现象描述**
执行 "hdc
_std
list targets"命令后结果为:[Empty]
执行 "hdc list targets"命令后结果为:[Empty]
-
**解决方法**
1.
设备没有被识别:
在设备管理器中查看是否有hdc设备,在通用串行总线设备中会有“HDC Device”信息。如果没有,hdc无法连接。此时需要断开并重联PC和OpenHarmony设备之间的USB连接,或者烧写最新的镜像。
2.
hdc
_std
工作异常:
2.
hdc工作异常:
可以执行"hdc kill"或者"hdc start -r"杀掉hdc服务或者重启hdc服务,然后再执行hdc list targets查看是否已经可以获取设备信息。
3.
hdc
_std
与设备不匹配:
如果设备烧写的是最新镜像,hdc
_std
也需要使用最新版本。
3.
hdc与设备不匹配:
如果设备烧写的是最新镜像,hdc也需要使用最新版本。
### hdc
_std
运行不了
### hdc运行不了
-
**现象描述**
点击hdc
_std
.exe文件无法运行。
点击hdc.exe文件无法运行。
-
**解决方法**
hdc_std.exe不需要安装,直接放到磁盘上就能使用,也可以添加到环境变量中。通过打开cmd执行hdc_std命令直接使用。
1.
运行环境异常:
linux版本建议ubuntu 18.04以上 64位,其他相近版本也可;libc++.so引用错误请使用ldd/readelf等命令检查库引用 windows版本建议windows10 64位,如果低版本windows winusb库缺失,请使用zadig更新库。对于复合设备,需要使用zadig工具安装libusb-win32驱动。
2.
如何运行hdc.exe:
hdc.exe不需要安装,直接放到磁盘上就能使用,也可以添加到环境变量中。通过打开cmd执行hdc命令直接使用。
### hdc client如何远程访问hdc server
...
...
@@ -529,13 +532,13 @@ hdc_std list targets -v
-
**连接步骤**
1.
关闭本地sever:
```
hdc
_std
kill
hdc kill
```
2.
**-s [ip:]port -m**
启动远程server:
```
hdc
_std
-s severIP:8710 -m
hdc -s severIP:8710 -m
```
3.
**-s [ip:]port command**
指定server执行指令:
```
hdc
_std
-s severIP:8710 list targets
hdc -s severIP:8710 list targets
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录