Chapter 5: System Debugging -- HDC (Huawei Device Connector) Debugging
1. Preface
hdc (OpenHarmony Device Connector) is a command-line tool provided for developers to facilitate device connection and debugging. This tool is designed to be deployed across Windows, Linux, macOS, and other operating systems, enabling communication for debugging with OpenHarmony devices or emulators.
In short, hdc (OpenHarmony Device Connector) is a command-line tool provided by OpenHarmony that enables developers to debug both hardware and applications, facilitating interaction between computers and development boards. Designed for OpenHarmony application developers, hardware engineers, and testers, it serves as an indispensable entry-level tool for every developer.
2. Environment Preparation
Supported Operating Environments
This document uses Windows 11 computers and the SC-3568HA development board as examples for illustration.
2.1 Install USB Driver
DriverAssistant is the USB driver bundled with RK development boards. Double-click DriverInstall.exe and follow the on-screen instructions to complete the driver installation.
1)Download the Rockchip USB driver ZIP package (DriverAssitant_v5.1.1)from the Baidu Netdisk materials.
Baidu Netdisk link: https://pan.baidu.com/s/1ZUn2BNg-Sb6M-fWhDqAFMw?pwd=smcc, extraction code: smcc
2)After extracting the ZIP package, click on DriverInstall.exe in the folder to install the driver.
Tips
Driver ZIP package path:ShiMetaPi配套网盘资料>02-软件工具>
Rockchip>RKTools>windows>DriverAssitant_v5.1.1.zip
3)Check if the driver has been successfully installed in Device Manager.

2.2 Download the Huawei Device Connector (HDC) tool
1)Download the HDC tool from the Baidu Netdisk materials. Link: https://pan.baidu.com/s/1nD6d__hYqQhQKyXvVfKoJg, extraction code: smcc

Tips
Tool path:ShiMetaPi配套网盘资料>02-软件工具>OpenHarmony>HDC 工具
2)HDC tool path environment configuration:
HDC tool path environment configuration as shown in the figure: Right-click This PC → Select Properties → Advanced system settings → Environment Variables → Under System Variables, find Path and double-click → Click New → Enter D:\tools\HDC → Click OK in all subsequent dialogs to confirm.



Note:
When configuring environment variables, select the path where HDC is located on your computer and ensure the path does not contain any Chinese characters.
3. Connect the device
1)The USB-OTG of SC-3568HA is already in device mode by default.
2)Connect the computer to the device's OTG port using a USB cable.
3)Open the command-line tool on your computer, enter 'hdc list targets' , and the connected device will be displayed if the connection is successful, as shown below:
hdc list targets
150100414a54443452069035fa308800
4)Entering 'hdc shell' allows you to access the device's terminal.

4. commonly used commands
Here, we will primarily elaborate on frequently utilized HDC instructions. For additional commands, readers are advised to conduct independent searches via search engines.
1)Device Query
hdc list targets
2)remount
hdc shell mount -o remount,rw /
3)Launch the App
hdc shell aa start -a MainAbility -b com.example.sampledemo
4)Reboot
hdc shell reboot
5)Install the APP
hdc install -r 路径.hap
6)Copy computer files to the device
hdc file send "D:\D-backup\temp_work\xxx.hap" data/xxx.hap
7)Copy device files to the computer (e.g., capture logs)
hdc file recv /data/log ./openharmony_log
8)Retrieve App Metadata
bm dump -n com.example.mydemo |grep system
5. Bundle Manager
Bundle Manager (bm for short), a package management tool, enables functions such as application installation, uninstallation, updates, and queries. It provides developers with essential debugging capabilities for application packages, including installing, uninstalling, and querying information about application packages.
6. Ability assistant
Ability Assistant (aa for short) is a tool designed to enable application and test case launching capabilities, providing developers with essential debugging and testing functionalities. These include launching application components, force-stopping processes, and printing detailed information about application components.