HarmonyOS鸿蒙Next中如何使用hdc命令快速搭建无线连接设备脚本?

HarmonyOS鸿蒙Next中如何使用hdc命令快速搭建无线连接设备脚本?

如何使用hdc命令快速搭建无线连接设备脚本?

3 回复

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

1.连接步骤

前提:手机和电脑必须连接在同一个局域网(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,说明连接成功。

2.恢复 USB 模式

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

hdc tmode usb

3. 多设备管理

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

  • 指定设备执行命令:

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

4.一键无线连接脚本 (Windows)

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

懒人脚本 (connect_wifi.bat)

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

@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

更多关于HarmonyOS鸿蒙Next中如何使用hdc命令快速搭建无线连接设备脚本?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,使用hdc建立无线连接需先通过USB连接设备并获取其IP地址。执行hdc tconn IP:端口命令即可建立无线调试连接。随后可断开USB线,通过无线网络继续使用hdc命令操作设备。

在HarmonyOS Next中,使用hdc命令通过无线网络连接设备,可以摆脱USB线的束缚,提高开发调试效率。以下是通过hdc命令快速搭建无线连接的核心步骤和脚本思路:

核心步骤

  1. 首次有线连接:必须先用USB数据线将设备(如开发板)与电脑连接,进行初始配对。
  2. 获取设备IP地址:通过有线连接,使用命令获取设备的无线网络IP地址。
  3. 建立无线连接:使用获取到的IP地址,通过hdc命令建立TCP/IP连接。
  4. 验证连接:确认无线连接已成功建立。

关键hdc命令

  • hdc list targets:查看当前通过USB连接的设备序列号。
  • hdc tconn <设备IP地址>:<端口号>:核心命令,用于通过指定IP和端口号连接设备。默认端口号为8710。
  • hdc target mount:在首次无线连接后,可能需要执行此命令来挂载系统分区为可读写状态,以便进行后续文件推送等操作。

自动化脚本示例(Shell脚本思路)

你可以将以下流程保存为一个.sh脚本文件(在Windows下可使用Git Bash或转换为.bat脚本),实现一键无线连接。

#!/bin/bash

# 步骤1: 通过USB线获取设备IP地址(确保设备与PC在同一局域网)
echo "正在通过USB获取设备IP地址..."
DEVICE_IP=$(hdc shell ifconfig wlan0 | grep 'inet addr' | cut -d: -f2 | awk '{print $1}')

if [ -z "$DEVICE_IP" ]; then
    echo "未能获取到设备IP地址,请检查:"
    echo "1. 设备已通过USB连接。"
    echo "2. 设备Wi-Fi已开启并连接到网络。"
    exit 1
fi

echo "获取到设备IP地址: $DEVICE_IP"

# 步骤2: 尝试通过TCP/IP连接设备
echo "正在尝试通过TCP连接设备..."
hdc tconn $DEVICE_IP:8710

# 步骤3: 验证连接
echo "验证连接状态..."
hdc list targets

# 步骤4: 挂载系统(如需文件操作)
read -p "是否需要挂载系统分区为可读写?(y/n): " need_mount
if [ "$need_mount" = "y" ] || [ "$need_mount" = "Y" ]; then
    hdc target mount
    echo "系统分区已挂载为可读写。"
fi

echo "无线连接脚本执行完毕。"

重要注意事项

  • 首次必需USB:无线连接的前提是设备已通过USB与主机完成过一次配对认证。
  • 网络环境:确保开发机与设备处于同一局域网(连接同一路由器或热点),且网络防火墙未屏蔽8710端口。
  • 设备Wi-Fi:设备必须已开启并连接至Wi-Fi网络,且IP地址固定或可通过路由器查看为佳。
  • hdc版本:使用HarmonyOS Next配套的hdc工具,旧版本可能不支持相关命令。

通过以上脚本,你可以快速建立与HarmonyOS Next设备的无线调试连接,后续即可使用hdc shellhdc file send等命令进行无线调试和文件传输。

回到顶部