# developtools_hdc_standard **Repository Path**: heyingjiao/developtools_hdc_standard ## Basic Information - **Project Name**: developtools_hdc_standard - **Description**: Device debug connector that provides the device connection capability and a command line tool | 设备调试连接器,提供了连接设备的能力,并提供了对外的命令行工具 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 662 - **Created**: 2021-07-31 - **Last Updated**: 2021-07-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HDC-鸿蒙设备连接器 - [简介](#section662115419449) - [架构](#section15908143623714) - [目录](#section161941989596) - [下载说明](#section129654513263) - [1.通过git clone方式下载(建议)](#section161941989591) - [2.通过网页形式下载](#section161941989592) - [3.支持环境](#section161941989593) - [4.BUG上报](#section161941989594) - [使用说明](#section129654513264) - [相关仓](#section1371113476307) - [FAQ](#section1371113476308) ## 简介 HDC(Harmony Device Connector) 是OpenHarmony为开发人员提供的用于调试的命令行工具,开发机器上使用设备连接器hdc client/server命令行工具,该工具需支持部署在Windows/Linux/Mac等系统上与鸿蒙设备(或模拟器)进行连接调试通信。PC端hdc工具需要针对以上开发机操作系统平台分别发布相应的版本,设备端hdc daemon需跟随设备镜像发布包括对模拟器进行支持。下文将介绍hdc的常用命令及使用举例。 ## 架构 hdc主要有三部分组成: 1. hdc client部分:运行于开发机上的客户端,用户可以在开发机命令终端(windows cmd/linux shell)下请求执行相应的hdc命令,运行于开发机器,其它的终端调试IDE也包含hdc client。 2. hdc server部分:作为后台进程也运行于开发机器,server管理client和设备端daemon之间通信包括连接的复用、数据通信包的收发,以及个别本地命令的直接处理。 3. hdc daemon部分:daemon部署于鸿蒙设备端作为守护进程来按需运行,负责处理来自client端的请求。 ## 目录 ``` /developtools ├── hdc_standard # hdc代码目录 │ └── src │ ├── common # 设备端和host端公用的代码目录 │ ├── daemon # 设备端的代码目录 │ ├── host # host端的代码目录 │ ├── test # 测试用例的代码目录 │ └── prebuilt # 预编译目录,存放预编译的二进制文件 ``` ### 下载说明 [1.通过git clone方式下载(建议)](#section161941989591) ``` 外仓命令为: git clone git@gitee.com:openharmony/developtools_hdc_standard.git 合作仓命令为: git clone git@gitee.com:OHOS_STD/developtools_hdc_standard.git ``` [2.通过网页形式下载](#section161941989592) 通过网页形式下载prebuilt,请使用类似如下URL打开网页: ``` https://gitee.com/openharmony/developtools_hdc_standard/blob/master/prebuilt/windows/hdc-std.exe``` 点击中间下载方式进行下载,windows版本文件大小在**5M左右**,linux版本在**2M左右**,不要使用右击另存为方式进行保存下载,这样下载不对,下载后检查文件大小(**说三遍**)。 [3.支持环境](#section161941989593) 支持运行环境 linux版本建议ubuntu20 CentOS8 64位,其他版本相近也应该可以,libc++.so引用错误请使用ldd/readelf等命令检查库引用 windows版本建议windows10 64位,windows8也应该可以,Windows7等EOF版本尚未测试,如果低版本windows winusb库缺失,请使用zadig更新库。 [4.BUG上报](#section161941989594) 近期hdc刚开发完成,适配和调整变动较多,如果遇到异常情况,建议按照如下步骤进行排查: 1)首先核对server与daemon版本是否匹配,hdc-std -v, hdcd -v。 2)更新工程最新的线上代码和预编译文件,是否在后续版本中已解决问题。 3)规范的和详细的提出issue,我们将尽快跟进。 ### 使用说明 hdc当前常用命令如下,未尽命令使用hdc -h或者hdc --help查看: **表 1** hdc常用命令列表

Option

Description

-t key

用于指定连接该指定设备识Key

举例:hdc -t *****(设备id) shell

-s socket

用于指定服务监听的socket配置

举例:hdc -s ip:port

-h/help -v/version

用于显示hdc相关的帮助、版本信息

list targets[-v]

显示所有已经连接的目标设备列表,-v选项显示详细信息

举例: hdc list targets

target mount

以读写模式挂载/system等分区

举例: hdc target mount

smode [off]

授予后台服务进程root权限, 使用off参数取消授权

举例: hdc smode

kill [-r]

终止hdc服务进程, -r选项会触发再次重启hdc server

举例: hdc kill

start [-r]

启动hdc服务进程, -r选项会触发重启hdc server

举例: hdc start

tconn host[:port][-remove]

通过【ip地址:端口号】来指定连接的设备

举例: hdc tconn 192.168.0.100:10178

tmode usb

执行后设备端对应daemon进程重启,并首先选用usb连接方式

tmode port port-number

执行后设备端对应daemon进程重启,并优先使用网络方式连接设备,如果连接设备再选择usb连接

file send local remote

从host端发送文件至设备

举例: hdc file send E:\a.txt /data/local/tmp/a.txt

file recv [-a] remote local

从设备端拉出文件至本地host端

举例: hdc file recv /data/local/tmp/a.txt ./a.txt

install [-r/-d/-g] package

安装OpenHarmony package

举例: hdc install E:\***.hap

uninstall [-k] package

卸载OpenHarmony应用

hilog

支持查看抓取hilog调试信息

举例: hdc hilog

shell [command]

远程执行命令或进入交互命令环境

举例: hdc shell

以下是常用hdc命令示例,供开发者参考: - 查看设备连接信息 ``` hdc list targets ``` - 往设备中推送文件 ``` hdc file send E:\a.txt /data/local/tmp/a.txt ``` - 从设备中拉取文件 ``` hdc file recv /data/local/tmp/a.txt ./a.txt ``` - 安装应用 ``` hdc install E:\***.hap ``` - 查看日志 ``` hdc hilog ``` - 进入命令行交互模式 ``` hdc shell ``` - 网络连接。 ``` hdc tconn 192.168.0.100:8710 ``` ## 相关仓 研发工具链子系统 **developtools\_hdc\_standard** ## FAQ