问答 如何使 Docker 中的 adb 访问到 HOST(windows 10) 上 USB 挂载的手机?

felix1982 · 2021年08月25日 · 最后由 yuanish 回复于 2023年08月14日 · 6845 次阅读

windows 10 上的 Docker 容器无法访问到主机上的 USB 设备,所以在 Docker 容器中 adb devices 无法查找到挂载在主机上的手机
可能的解决方案

  • 通过在 windows 10 上安装 visualbox,在 visualbox 中安装 linux 系统,然后在 visualbox 中使用 docker。(过于繁琐,未尝试)
  • 在 Docker 中使用 adb 无线连接的方式连接手机 (不满足初衷)

大家有什么方案吗?

共收到 12 条回复 时间 点赞

docker-machine 目前已知唯一方案

williamfzc 回复

倒是可以在主机部署 Http 服务,然后通过 http 获取到主机挂载手机的信息,但是没有在容器内使用 adb 的各种操作。现在考虑使用 ssh 代理的方式,是不是可以实现。

TesterHome 里找到了答案,https://testerhome.com/topics/8049 可以使用 adbkit 😂

felix1982 关闭了讨论 08月27日 15:05
felix1982 重新开启了讨论 08月27日 15:05

咋解决的,能列举出详情步骤吗

huaxiaotian 回复
  • Host 机器上安装 adbkit,使用 adbkit usb-device-to-tcp -p $port $serial启动 adbkit 服务 ,$port 为端口号,$serial 为 device
  • 在 docker 中 adb connect host机器ip:端口号就可以了
felix1982 回复

有试过云服务器 docker,访问 windows10 挂载的手机吗

huaxiaotian 回复

应该哪里都可以访问,前提是你的云服务器跟 window10 挂载机的网络是通的

--privileged -v /dev/bus/usb:/dev/bus/usb

在尝试使用 adbkit 解决这个问题时,报错: connect ECONNREFUSED ::1:5037。想问问有什么解决的方法吗

yuanish 回复

问题解决了,如果有人遇到同样的问题可以参考https://blog.csdn.net/ambertian/article/details/70238020

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册