news 2026/1/3 6:03:33

HarmonyOS 5 高效使用命令:HDC 使用指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HarmonyOS 5 高效使用命令:HDC 使用指南

大家好,我是不想掉发的鸿蒙开发工程师城中的雾。

在上一系列中,我们探讨了如何写出炫酷的 UI。但对于开发者来说,写代码只是工作的一半,另一半是调试

IDE(DevEco Studio)虽然功能强大,但在面对真机连接不稳定、应用安装失败、日志筛选困难等底层问题时,往往显得力不从心。这时候,我们需要一把“手术刀”——HDC (HarmonyOS Device Connector)

HDC 是鸿蒙开发的命令行工具(类似于 Android 的 ADB)。本系列文章将带大家跳出 IDE 的图形界面,直接用命令行解决开发中那些让人头秃的疑难杂症。

第一期,我们先解决最基础也最容易出问题的一步:如何稳定地连上设备

1. 环境配置:让终端认识 HDC

很多新手在终端输入hdc时,会收到command not found不是内部或外部命令的报错。这是因为系统不知道去哪里找这个工具。

获取 HDC 工具

首先,你得找到 HDC 在哪。通常有以下两种方式:

  1. 通过 SDK 获取(最常用):

    DevEco Studio 已经内置了 SDK,无需额外下载。

    • 默认路径DevEco Studio安装目录/sdk/default/openharmony/toolchains
    • MacOS:位于DevEco Studio.app/Contents/sdk/default/openharmony/toolchains
  2. 通过 Command Line Tools:

    如果你使用的是独立的命令行工具,hdc 位于 Command Line Tools/sdk/default/openharmony/toolchains 路径下。

HDC 其实支持独立运行。你可以直接把 toolchains 目录下的 hdc 可执行文件和 libusb_shared 依赖文件拷贝到任意自定义目录,在那里面直接打开终端也能跑,适合不想配环境的“临时作战”。

但为了长久之计,我们还是推荐配置系统环境变量,这样你在任何路径下都能直接呼唤hdc

配置步骤 (Windows)

  1. 进入设置:按下Windows键,搜索并进入“设置”窗口;或者直接搜索“查看高级系统设置”。
  2. 编辑变量
    • 在“系统属性”窗口中,点击**“环境变量”**。
    • 在**“系统变量”区域找到Path,选中并点击“编辑”**。
  3. 添加路径
    • 点击**“新建”**,将hdc.exe所在的目录路径(即上面的 toolchains 路径)粘贴进去。
    • 一路点击“确定”保存。
  4. 生效验证
    • 配置完成后,建议重启电脑(或重启所有终端窗口)以确保变量生效。
    • 打开 CMD 或 PowerShell,输入hdc -v,显示版本号即为成功。

配置步骤 (Linux/MacOS)

类 Unix 系统的配置需要通过终端修改 Shell 配置文件。

  1. 确认 Shell 类型:

    打开终端,输入以下命令:

    echo $SHELL
  2. 编辑配置文件

    • 如果输出/bin/bash,执行:vi ~/.bashrc
    • 如果输出/bin/zsh(MacOS 默认),执行:vi ~/.zshrc
  3. 添加 PATH 信息

    • 进入编辑器后,按i键进入 Insert 模式。
    • 在文件末尾添加以下内容(注意替换{DevEco Studio}为你的实际安装路径):
    export PATH={DevEco Studio实际路径}/sdk/default/openharmony/toolchains:$PATH
    • MacOS 示例export PATH=/Applications/DevEco-Studio.app/Contents/sdk/default/openharmony/toolchains:$PATH
  4. 保存并生效

    • Esc键退出编辑模式,输入:wq并回车保存。
    • 执行以下命令立即使配置生效:
    source ~/.bashrc # 或者 source ~/.zshrc
  5. 重启:建议重启系统或重新登录,确保所有环境完全加载。

2. 基础连接:USB 调试

这是最常用的连接方式。

常用命令

  • 查看连接设备

    hdc list targets
    • 正常:显示设备序列号(SN),如1234567890ABCDEF
    • 异常:显示[Empty]或报错。

常见问题排查

如果hdc list targets为空,请按以下顺序检查:

  1. 开发者模式:确保手机已开启“开发者模式”和“USB 调试”。

  2. 授权弹窗:连接电脑后,留意手机上是否弹出了“是否允许 USB 调试”的弹窗,必须点击“始终允许”。

  3. 驱动/端口占用:这是 Windows 常见问题。有时候端口被占用导致 HDC 服务起不来。

    • 绝招:强制重启 HDC 服务。

      hdc kill -r hdc start

      (注:-r表示递归停止服务进程)

3. 进阶玩法:无线调试 (WiFi)

总是插着数据线开发很不方便,特别是需要连接外设(如键盘、鼠标)测试时。HDC 支持通过 TCP/IP 进行无线调试。

连接步骤

前提:手机和电脑必须连接在**同一个局域网(WiFi)**下。

  1. 初始化:先用 USB 线连接手机和电脑(第一次必须插线,否则无法授权)。

  2. 开启端口:设置手机监听 5555 端口。

    hdc tmode port 5555
    • 成功提示Set device run mode successful.
  3. 查看手机 IP

    • 方式 A:手机设置 -> 关于手机 -> 状态信息 -> IP 地址。

    • 方式 B:直接用命令查(netcfg命令在部分新机型已废弃,推荐使用ifconfig)。

      hdc shell ifconfig wlan0

      输出示例:找到inet addr后的数字,例如172.16.130.221

      wlan0 Link encap:Ethernet HWaddr ... inet addr:172.16.130.221 Bcast:...
  4. 建立连接拔掉 USB 线,在电脑终端输入:

    hdc tconn 172.16.130.221:5555

    (请替换为您实际查到的 IP)

    • 成功提示Connect OK
  5. 验证:再次输入hdc list targets,如果看到172.16.130.221:5555,说明连接成功。

恢复 USB 模式

如果想切回 USB 模式,或者无线连接出现异常,可以重置:

hdc tmode usb

4. 多设备管理

当你同时连接了多台设备(比如一台真机、一台模拟器,或者一台手机、一台车机)时,执行命令必须指定目标,否则 HDC 不知道该听谁的。

  • 指定设备执行命令

    hdc -t [设备SN或IP] [命令]
    • 示例hdc -t 192.168.1.100:5555 shell ls

5. 番外:一键无线连接脚本 (Windows)

每次都要手动敲三个命令(开端口、查IP、连接)是不是很累?我们可以写一个.bat脚本来自动完成这个过程。

懒人脚本 (connect_wifi.bat)

在桌面新建一个文本文件,粘贴以下代码,保存为.bat后缀。插上 USB 线,双击运行即可。

优化说明:此版本已移除所有中文字符和注释,排除编码错误,通过临时文件稳定获取 IP。

@echo off setlocal enabledelayedexpansion echo ========================================== echo HarmonyOS WiFi Connect Tool echo ========================================== echo [STEP 1] Setting TCP Mode 5555... hdc tmode port 5555 if %errorlevel% neq 0 goto ErrorUSB timeout /t 2 >nul echo. echo [STEP 2] Getting IP Address... set DEVICE_IP= hdc shell ifconfig wlan0 > ip_temp.txt for /f "tokens=2 delims=:" %%a in ('findstr "inet addr" ip_temp.txt') do ( for /f "tokens=1" %%b in ("%%a") do set DEVICE_IP=%%b ) if "!DEVICE_IP!"=="" ( for /f "tokens=2" %%a in ('findstr "inet " ip_temp.txt') do ( echo %%a | findstr /v ":" >nul && set DEVICE_IP=%%a ) ) del ip_temp.txt >nul 2>&1 if "!DEVICE_IP!"=="" goto ManualInput echo [INFO] IP Found: !DEVICE_IP! goto ConnectStep :ManualInput echo [WARN] Auto-detect failed. Check Settings-WLAN. set /p DEVICE_IP="Please Enter IP Address: " goto ConnectStep :ConnectStep echo. echo [STEP 3] Please unplug USB now. Press any key to connect... pause >nul if "!DEVICE_IP!"=="" goto ErrorIP echo Connecting to !DEVICE_IP!:5555 ... hdc tconn !DEVICE_IP!:5555 echo. echo [Result] Connected Devices: hdc list targets goto End :ErrorUSB echo [ERROR] Please connect USB first! pause goto End :ErrorIP echo [ERROR] IP is empty. pause goto End :End pause

总结:HDC 连接速查表

场景命令说明
查设备hdc list targets也是检查连接状态的第一步
查版本hdc -v检查环境配置是否成功
重启服务hdc kill -r遇到莫名其妙连接问题时的万能药
开无线hdc tmode port 5555需先插线设置
查IPhdc shell ifconfig查找wlan0inet addr
连无线hdc tconn [IP]:5555需在同一局域网
切回USBhdc tmode usb恢复有线模式

连接设备是开发的第一步。搞定了连接,下一期我们将深入 App 的**“卸载与安装”,探讨如何通过命令行高效地安装、卸载、启动和强制停止**应用,甚至直接拉起指定的 Ability 页面进行测试。

充电时间

如果您想系统深入地学习 HarmonyOS 开发或想考取HarmonyOS认证证书,推荐学习华为官方课程:

🔗 HarmonyOS第一课:官方认证培训

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/1 23:52:10

Figma中文插件终极体验:英文小白秒变设计大神

还在对着Figma满屏的英文发愁吗?是不是每次找功能都要靠猜?别担心,Figma中文插件来了!这款由专业设计师团队精心打磨的本地化工具,让你彻底告别语言障碍,轻松玩转设计神器。 【免费下载链接】figmaCN 中文 …

作者头像 李华
网站建设 2025/12/28 3:00:24

Supersplat开发环境终极配置指南:10个快速优化技巧

Supersplat作为专业的3D高斯溅射编辑器,在开发过程中可能会遇到各种环境配置问题。本指南将为您提供从基础配置到高级优化的完整解决方案,帮助您快速搭建高效的开发环境。 【免费下载链接】supersplat 3D Gaussian Splat Editor 项目地址: https://git…

作者头像 李华
网站建设 2025/12/22 22:02:19

Bili动态抽奖助手:告别手动转发,用技术实现自动抽奖自由

还在为错过B站抽奖而懊恼吗?还在为手动转发评论而疲惫吗?Bili动态抽奖助手(LotteryAutoScript)就是你的"抽奖神器",这款基于Node.js的开源工具能帮你自动参与B站动态抽奖,让你躺着也能中奖&#…

作者头像 李华
网站建设 2025/12/22 22:02:05

AI歌声黑科技:5分钟打造专属虚拟歌手的实用指南

AI歌声黑科技:5分钟打造专属虚拟歌手的实用指南 【免费下载链接】so-vits-svc-5.0 Core Engine of Singing Voice Conversion & Singing Voice Clone 项目地址: https://gitcode.com/gh_mirrors/so/so-vits-svc-5.0 你是否曾梦想过拥有自己的虚拟歌手&am…

作者头像 李华
网站建设 2025/12/22 22:01:05

AzurLaneLive2DExtract终极指南:三步轻松提取碧蓝航线Live2D模型

AzurLaneLive2DExtract终极指南:三步轻松提取碧蓝航线Live2D模型 【免费下载链接】AzurLaneLive2DExtract OBSOLETE - see readme / 碧蓝航线Live2D提取 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneLive2DExtract 还在为无法保存碧蓝航线中精美的…

作者头像 李华