Go to file
openharmony_ci fed3dd0469
!658 HdcTransferBase::SimpleFileIO堆溢出风险修复
Merge pull request !658 from danleiw/danlei_dts_1717
2023-06-17 04:08:09 +00:00
scripts change name hdc_std to hdc 2022-10-14 10:45:10 +08:00
src !658 HdcTransferBase::SimpleFileIO堆溢出风险修复 2023-06-17 04:08:09 +00:00
test Add fuzz test 2023-05-26 16:08:23 +08:00
.gitattributes 202106 fixes 2021-06-30 22:07:29 +08:00
BUILD.gn add part_name in and remove path prefix 2023-06-08 10:47:34 +08:00
bundle.json 修改部件标准化三方部件名称问题 2023-06-12 09:30:02 +00:00
hdc.gni add mac uart 2022-06-29 11:55:46 +08:00
LICENSE update OpenHarmony 2.0 Canary 2021-06-02 02:19:53 +08:00
README_zh.md update README_zh.md. 2023-03-27 03:12:56 +00:00
README.md change name hdc_std to hdc 2022-10-14 10:45:10 +08:00

HDC-OpenHarmony Device Connector

Introduction

HDC (OpenHarmony Device Connector) is a command-line tool for developers to connect and debug the device. The PC-side development machine uses the command-line tool hdc (for convenience, collectively referred to as hdc below). This tool needs to support deployment on Windows/Linux /Mac and other systems to connect and debug communication with OpenHarmony devices (or simulators). The PC-side hdc tool needs to release corresponding versions for the above development machine operating system platforms, and the device-side hdc daemon needs to follow the device image release including support for the simulator. The following will introduce the commonly used commands and usage examples of hdc.

Architecture

HDC mainly consists of three parts:

  1. The hdc client part: the client running on the development machine, the user can request to execute the corresponding hdc command under the command terminal of the development machine (windows cmd/linux shell), running on the development machine, other terminal debugging IDEs also include hdc client .

  2. The hdc server part: As a background process, it also runs on the development machine. The server manages the communication between the client and the device-side daemon, including the multiplexing of connections, the sending and receiving of data communication packets, and the direct processing of individual local commands.

  3. The hdc daemon part: the daemon is deployed on the OpenHarmony device running on demand, and is responsible for processing requests from the client side.

Table of Contents

/developtools
├── hdc # hdc code directory
│ └── src
│ ├── common # Code directory shared by the device side and the host side
│ ├── daemon # Code directory on the device side
│ ├── host # The code directory of the host
│ └── test # Code directory of test case

PC-side compilation instructions

Compilation steps of hdc pc executable file:

  1. Compile command: Please refer to https://gitee.com/openharmony/build/blob/master/README_zh.md to compile the sdk instructions, execute the specified sdk compile command to compile the entire sdk, hdc will be compiled Pack it inside.

  2. Compile: Run the sdk compilation command adjusted above on the target development machine, and the normal compilation of hdc will be output to the relevant directory of the sdk platform; Note: Only the windows/linux version tools can be compiled in the ubuntu environment, and the mac version needs to be on the macos development machine Compile.

Getting instructions on pc

1. Download sdk to obtain (recommended)

Download the dailybuilds or officially released sdk compressed package by visiting the community website, and unzip and extract it according to your platform to the corresponding directory toolchain

2. Compile by yourself

For compilation, please refer to the separate section above. Prebuilt is no longer available in the prebuilt directory of this project warehouse.

3. Support operating environment

The linux version is recommended to be 64-bit above ubuntu 16.04, and other similar versions are also available; libc++.so quotes errors, please use ldd/readelf and other commands to check the library. Windows version is recommended. Windows 10 64-bit is recommended. If the lower version of the windows winusb library is missing, please use zadig to update the library. .

More help and docs

Please check the Chinese description file README_zh.md or raise an issue in the gitgee community.