uniapp创建adb反向代理失败:adb.exe报错cannot bind listener如何解决?

在使用uniapp开发时,尝试创建adb反向代理遇到问题。执行adb reverse命令时,adb.exe报错“cannot bind listener”。具体错误如下:

  1. 已确认adb版本是最新的
  2. 手机已开启USB调试模式
  3. 开发者选项中的"USB调试(安全设置)"也已开启

尝试过以下解决方法均无效:

  • 重启adb服务(adb kill-server/adb start-server)
  • 更换USB接口和数据线
  • 重启手机和电脑

请问这个问题该如何解决?是端口被占用还是其他原因导致的?

2 回复

检查端口占用,用netstat -ano | findstr "5037"查看5037端口是否被占用。若被占用,结束相关进程或重启电脑。


在UniApp开发中,ADB反向代理失败并报错“cannot bind listener”通常是由于端口占用或ADB配置问题导致的。以下是具体解决方法:

  1. 检查端口占用
    默认ADB反向代理使用8081端口,可能已被其他进程占用。

    • 查看端口占用:
      netstat -ano | findstr :8081
      
    • 若被占用,结束对应进程或更换端口:
      adb reverse tcp:8081 tcp:8082
      
  2. 重启ADB服务
    重置ADB连接以清除冲突:

    adb kill-server
    adb start-server
    
  3. 检查设备连接
    确保设备已正确连接并授权:

    adb devices
    

    若设备未列出,重新插拔USB或检查驱动。

  4. 更换反向代理端口
    在HBuilderX中修改项目端口:

    • 打开 manifest.json → “基础配置” → 修改“端口”为未占用值(如8082)。
    • 重新运行项目并执行反向代理:
      adb reverse tcp:8082 tcp:8082
      
  5. 以管理员身份运行
    在Windows系统下,尝试用管理员权限启动命令行或HBuilderX。

  6. 防火墙限制
    临时关闭防火墙或添加ADB(adb.exe)到允许列表。

完成上述步骤后,重新执行 adb reverse 命令并启动UniApp项目即可解决。若问题持续,考虑重启计算机或更新ADB版本。

回到顶部