管理中心

hdc调试设备报错:hdc server port XXXX has been used,切换端口无效

问题现象

hdc调试设备提示报错:hdc server port XXXX has been used,手动切换端口无法解决。

可能原因

  1. 端口占用。
  2. 端口拦截。

解决措施

  1. 端口占用请尝试以下方法:
    • 更换端口,通过配置环境变量OHOS_HDC_SERVER_PORT配置可用端口如18710,配置完成后请重启命令行或重启使用到hdc的软件(如模拟器、DevEco Studio、DevEco系列、xdevice等软件)。
    • 查找占用端口的软件并解除占用。
      Windows系统:
      查询端口
      $ netstat -ano | findstr :{端口号}
      停止服务
      $ taskkill /PID {PID号} /F
      注:实际使用时请替换为真实端口号和PID号
      Linux/MacOS系统:
      查询端口
      $ lsof -i :{端口号}
      $ netstat -tuln | grep :{端口号}
      停止服务
      $ kill -9 {PID号}
      注:实际使用时请替换为真实端口号和PID号
    • Windows平台如果查询不到被占用的端口可尝试以下方法
      查看动态端口范围
      $ netsh int ipv4 show dynamicport tcp
      查看例外端口范围
      $ netsh interface ipv4 show excludedportrange protocol=tcp

      如果查询列表中提示被占用的端口在例外端口范围中,执行以下步骤,或手动在任务管理器中重启Hyper-V服务

      禁用Hyper-V [需要重启电脑]
      $ dism.exe /Online /Disable-Feature:Microsoft-Hyper-V
      启动Hyper-V [需要重启电脑]
      $ dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All
  2. 端口拦截需检查本地是否开启相关防火墙拦截类软件,如果开启请调整相关安全组设置或关闭软件后重试。