一尘不染

通过ADB连接到Docker容器中的USB Android设备

docker

我创建了一个包含Android
SDK的Docker映像,并试图将我的Android手机暴露在运行该映像的容器中。因此,我使用该--privileged标志并按如下所示安装USB设备:

$ docker run --privileged -v /dev/bus/usb:/dev/bus/usb -d -P my-android:0.0.1

但是,当我运行ADB设备时,它不会显示USB设备:

ubuntu@d56b666be455:~/Android/Sdk/platform-tools$ ./adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached

ubuntu@d56b666be455:~/Android/Sdk/platform-tools$

容器内的lsusb列出了设备:

ubuntu@d56b666be455:~$ lsusb
...
Bus 002 Device 017: ID 04e8:6866 Samsung Electronics Co., Ltd GT-I9300 Phone [Galaxy S III] (debugging mode)

但是,该设备在主机上可见:

⇒  ./adb devices
List of devices attached
4d11abcd65b74045    device

主机操作系统

$ uname -a
Linux ananya 3.16.0-33-generic #44~14.04.1-Ubuntu SMP Fri Mar 13 10:33:29 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Docker版本

$ docker --version
Docker version 1.5.0, build a8a31ef

可能是什么问题?


阅读 1068

收藏
2020-06-17

共1个答案

一尘不染

我认为设备上运行的ADB守护程序无法连接到两个ADB服务器。尝试从主机的ADB断开连接,然后将其连接到Docker容器的ADB。

2020-06-17