首页 > 解决方案 > 如何从 Docker 容器连接到 OSX 主机上的 Android 虚拟设备

问题描述

OSX主机正在运行Android Virtual Devices4 。

我用初始化Docker容器

docker run -P --network="host" -it -v ${HOME}/git/test-client-lua:/\
test-client docker-dev.sla-ptt.com:5000/dispatch-test:latest bash

我使用该-P参数将所有 docker 端口公开给主机上的随机端口,但是当我adb devices在容器中运行时没有可用的设备,但是当我adb devices从主机运行时,有 4 个设备可用

emulator-5554   device
emulator-5556   device
emulator-5558   device
emulator-5560   device

我知道在运行容器的 OSX 主机上有某种虚拟 Linux 机器,所以我怀疑这是造成问题,但我不知道如何解决它。

我希望能够使用adb.

编辑

顺便说一句,主机和容器上的adb版本是相同的,当我从容器运行命令时,服务器正在主机上运行。adbadbadb devices

标签: docker

解决方案


检测 AVD 的唯一方法是从容器通过 SSH 连接到主机。

# from container
ssh <user-name>@<host-ethernet-address>

该容器似乎有自己的公钥。我不确定它是否是静态的。


推荐阅读