HarmonyOS鸿蒙Next中在设备中运行HAP时提示“Hdc server port XXXX已被使用。请配置环境变量‘OHOS_HDC_SERVER_PORT’并重启DevEco Studio。”
HarmonyOS鸿蒙Next中在设备中运行HAP时提示“Hdc server port XXXX已被使用。请配置环境变量‘OHOS_HDC_SERVER_PORT’并重启DevEco Studio。” DevEco Studio启动后有这个提示,我按照官方提示将8710端口改成20351,但是DevEco Studio一启动这个端口还是占用,不启动就不占用,每次都是一个叫hdc.exe的进程占用,到底怎么回事
这是因为 DevEco Studio 启动时自动拉起了旧版或残留的 hdc.exe 进程,导致新端口依然被抢占。
解决方法如下:
打开任务管理器,找到并结束所有 hdc.exe 进程。
检查系统环境变量,确保变量名为 OHOS_HDC_SERVER_PORT(而非 HDC_SERVER_PORT),值为 20351 。
彻底关闭并重启 DevEco Studio,它会自动以新端口拉起正确的 hdc 服务。
如果仍无效,建议更新 DevEco Studio 至最新版本,或手动删除 SDK 目录下的 hdc 相关文件后重启 IDE 让其自动修复 。
更多关于HarmonyOS鸿蒙Next中在设备中运行HAP时提示“Hdc server port XXXX已被使用。请配置环境变量‘OHOS_HDC_SERVER_PORT’并重启DevEco Studio。”的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
没用的,都不是最终解决办法,
好了,直接把系统重做了一遍。绝对万能的办法。,
尊敬的开发者,您好,
您重装系统之后,当前的问题解决了吗, 可以按官方文档:运行时提示“Hdc server port XXXX has been used”中的方式排查一下。https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs/faqs-app-debugging-19
下午想起来给电脑系统更新了一下,然后这个问题确实是解决了,但是他又带出了另外一个问题,电脑开始蓝屏了。把更新卸载掉回退回去,这个问题又出现了,再更新回来唉,他又开始蓝屏了。我尼玛我都不知道怎么搞好了。,
-
右键点击“此电脑”选择“属性”,进入“高级系统设置” > “高级” > “环境变量”。
-
在“系统变量”或“用户变量”中,点击“新建”。
-
变量名设置为 OHOS_HDC_SERVER_PORT,变量值设置为一个未被占用的端口号,例如 7035 或 18710。
如果不行的话建议提交工单
你说的这种办法也已经尝试过了,没有用,我已经提了工单,
DevEco 启动后看到配置端口被 hdc.exe 占用,不一定是异常。官方 hdc 文档说明 hdc 包含 client、server、daemon;client 启动时如果 server 没运行,会启动一个新的 hdc 后台进程。server 默认监听电脑端 8710,也可以通过环境变量 OHOS_HDC_SERVER_PORT 修改。修改环境变量后,需要重启命令行窗口或使用 HarmonyOS SDK 的软件,例如 DevEco Studio。
建议排查:
where hdc
netstat -ano | findstr :20351
tasklist /FI "PID eq <pid>"
如果占用者就是 DevEco 拉起的 hdc.exe,这是正常服务进程;如果是其他程序或旧版本 SDK 的 hdc.exe 占用,再统一 SDK 路径、修改端口或结束旧 hdc 后重启 DevEco。
依据:hdc 调试命令官方文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/hdc
很喜欢HarmonyOS的卡片式设计,信息一目了然,操作也更便捷。
还需要装一下comd配置,那玩意在官方下载编辑器的小号,配置bin目录到环境变量,在运营hdc target之类的,就能获取链接的设备信息了,
算了,我都不知道到底怎么改好了。前一天晚上还能用,关个机,第2天晚上再开机,它就这样报错了,你说这东西到底怎么搞好?,
hdc.exe 是一个独立的后台进程,不是 DevEco Studio 的子进程,关闭 DevEco Studio 不会自动关闭它。
你可以试一下 直接用命令杀死所有的 hdc.exe 进程 , 我记得可以用这个指令
taskkill /F /IM hdc.exe
taskkill /f /im hdc.exe
taskkill /f /im hdc_std.exe
taskkill /f /im hdc-daemon.exe
taskkill /f /im devecostudio64.exe
四个命令都有尝试过,
然后依旧不行是吧 , 执行完成之后 用这个指令
netstat -ano | findstr :20351
看下 是否还在占用 , 如果这个还是不行的话
你输入这个指令 直接 禁用 hdc 启动 试试
禁用 hdc 自启动
sc config hdcservice start= disabled
删除服务
sc delete hdcservice
还有一点 执行完成指令之后 不仅要重新启动deveco 还有重启一下电脑
每一次启动的hdc位置打开都是E:\DevEco Studio\sdk\default\openharmony\toolchains\hdc.exe,这不就是DevEco Studio自带的hdc么,
命令行重启下hdc: hdc kill -r
换其他端口前看下,谁占用,netstat -ano | findstr :端口号
端口改成其他的也可以,找个5位数的,不易被占用。
hdc 运行原理图。

文字太多,晚上回家一个一个测试,
where hdc 信息:用提供的模式无法找到文件
taskkill /F /IM hdc.exe 提示已经成功终止进程,但是没一会hdc.exe有一次自动启动,Pid也跟着变化了
C:\Users\HW>taskkill /f /im hdc.exe 成功: 已终止进程 “hdc.exe”,其 PID 为 10960。
C:\Users\HW>netstat -ano | findstr 7045 TCP 127.0.0.1:7045 0.0.0.0:0 LISTENING 21644
不知道怎么搞了,
每一次启动的hdc位置打开都是E:\DevEco Studio\sdk\default\openharmony\toolchains\hdc.exe,这不就是DevEco Studio自带的hdc么,
可能是上一次你关闭DevEco Studio的时候有些进程被占用没有正确关闭。
建议重启一下系统再试试!
电脑重启了无数遍了,Deveco启动,这个hdc.exe就跟着一起启动,然后占用端口,Deveco关闭之后hdc.exe也自动关闭了,cmd看端口又不占用了,改了无数个端口都不管用。昨晚都重装了一遍还是不行。官方给出的解决方案都不管用,
该提示表明HDC(HarmonyOS Device Connector)的默认端口(通常为8710或8711)被其他进程占用。设置环境变量OHOS_HDC_SERVER_PORT为一个未被使用的端口号(例如8712),然后重启DevEco Studio即可解决。此操作不涉及Java或C语言。
DevEco Studio 内置的 hdc.exe 服务默认使用 8710 端口。即使你已经设置了 OHOS_HDC_SERVER_PORT=20351,启动 Studio 时它仍会尝试启动一个新的 hdc 服务并占用你指定的端口,但此时可能存在旧实例未完全退出或端口残留锁定,导致报“端口已被使用”。
解决很简单:
- 打开任务管理器,结束所有
hdc.exe进程(确保没有运行)。 - 检查环境变量
OHOS_HDC_SERVER_PORT是否已正确设置为20351,且拼写无误。 - 重启 DevEco Studio。
这样 Studio 会用新端口启动服务。若还是冲突,换一个空闲端口如 20352 即可。


