在 systemd-nspawn 容器中使用 adb(android 调试桥)

在 systemd-nspawn 容器中使用 adb(android 调试桥)

我想在 systemd-nspawn 容器中使用 adb。不幸的是我无法访问容器内的手机(通过 USB 连接)。

pi@debian-buster-64:~ $ export ADB_TRACE=usb
pi@debian-buster-64:~ $ adb devices
List of devices attached
* daemon not running; starting now at tcp:5037
* daemon started successfully

pi@debian-buster-64:~ $ 

这是容器设置 /etc/systemd/nspawn/debian-buster-64.nspawn:

[Exec]
PrivateUsers=no
Capability=CAP_NET_ADMIN

[Files]
Bind=/home
Bind=/run/user:/run/host-user/
BindReadOnly=/etc/resolv.conf

[Network]
Private=no
VirtualEthernet=no

以下是容器内部 lsusb 的输出:

pi@debian-buster-64:~ $ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 009: ID 045e:07b2 Microsoft Corp. 2.4GHz Transceiver v8.0 used by mouse Wireless Desktop 900
Bus 001 Device 010: ID 18d1:4ee7 Google Inc. 
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

lsusb 的输出与主机上的输出相同,并且手机(Google Inc.)可见。

我想在容器内使用 adb,因为容器是 64 位(主机只有 32 位)。不幸的是,32 位上的 adb 有限制。使用 adb 进行访问可以在主机上运行(具有上述 32 位限制)。有什么想法如何让它在容器内工作吗?

相关内容