当前仓库属于关闭状态,部分功能使用受限,详情请查阅 仓库状态说明
8 Star 18 Fork 7

OpenHarmony/developtools_hdc_standard
关闭

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

HDC-鸿蒙设备连接器

简介

HDC(Harmony Device Connector) 是OpenHarmony为开发人员提供的用于设备连接调试的命令行工具,pc端开发机使用命令行工具hdc_std(为方便起见,下文统称hdc),该工具需支持部署在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      # 预编译目录,存放预编译的二进制文件

pc端编译说明

hdc pc端可执行文件编译步骤:

  1. 工程准备:更新下载整个工程,使得工程包含https://gitee.com/openharmony/build/pulls/89 等必要的提交。

  2. 编译命令:调试编译命令 在整个工程编译命令的基础上增加 "--build-target build_ohos_sdk --gn-args build_ohos_sdk=true" 参数即可。

  3. 编译:在目标开发机上运行上面调整好的sdk编译命令, 正常编译hdc_std会输出到sdk平台相关目录下; 注意: ubuntu环境下只能编译windows/linux版本工具,mac版需要在macos开发机上编译。

预制pc端下载说明

1.通过git clone方式下载(建议)

下载命令格式:  git clone git@gitee.com:projectname/developtools_hdc_standard.git
git clone https://gitee.com/projectname/developtools_hdc_standard.git
其中 projectname为 本仓所在的开源社区项目英文名(譬如: openharmony)
完整命令示意:  git clone git@gitee.com:openharmony/developtools_hdc_standard.git
或     git clone https://gitee.com/openharmony/developtools_hdc_standard.git

2.通过网页形式下载 通过网页形式下载prebuilt,请使用类似如下URL打开网页: https://gitee.com/openharmony/developtools_hdc_standard/blob/master/prebuilt/windows/hdc-std.exe 点击中间下载方式进行下载,windows版本文件大小在5M左右,linux版本在2M左右,请勿使用右击另存为方式进行保存下载,下载后检查文件大小(说三遍)。

3.支持环境 linux版本建议ubuntu 16.04以上 64位,其他相近版本也可;libc++.so引用错误请使用ldd/readelf等命令检查库引用 windows版本建议windows10 64位,如果低版本windows winusb库缺失,请使用zadig更新库。

4.BUG上报 近期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

空文件

简介

Device debug connector that provides the device connection capability and a command line tool | 设备调试连接器,提供了连接设备的能力,并提供了对外的命令行工具 展开 收起
README
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/openharmony/developtools_hdc_standard.git
git@gitee.com:openharmony/developtools_hdc_standard.git
openharmony
developtools_hdc_standard
developtools_hdc_standard
OpenHarmony-v3.0-Beta1

搜索帮助