繁体   English   中英

虚拟机上的 adb 设备未列出设备

[英]Device not listed by adb devices on a virtual machine guest

为什么我的安卓手机没有被adb devices列出?

我按照https://developer.android.com/studio/run/device 中描述的说明进行操作,但 ADB 仍然找不到我的设备。 我的用户已经是plugdev组的成员。 我也尝试杀死并重新启动adb服务器。

我在 VirtualBox 机器上运行 Debian Stretch。 Debian 可以看到我的设备,但adb不能。

eduardo@debian:~$ lsusb

Bus 001 Device 002: ID 1004:633e LG Electronics, Inc. GZ Android Phone [MTP mode]
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub    
Bus 002 Device 002: ID 8oee:0021 VirtualBox USB Tablet    
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

eduardo@debian:~$ ls -l /etc/udev/rules.d/51-android.rules

-rw-r-r- 1 root root 4611 Sep 5 15:25 /etc/udev/rules.d/51-android.rules

eduardo@debian:~$ grep 1004 /etc/udev/rules.d/51-android.rules

SUBSYSTEM=="usb", ATTRfidVendor1=="1004", MODE="0666", GROUP="p1ugdev"

eduardo@debian:~$ adb devices

List of devices attached

eduardo@debian:~$

无论特定平台如何,在虚拟化环境中使用adb的简单方法是在主机上运行adb server作为远程系统,并在来宾系统内运行adb客户端。 在此处查看我对另一个问题的回答

虽然可以完全在访客系统内部运行服务器和客户端,但要可靠地这样做通常需要将整个 USB 控制器传递到访客系统。

我做了一个解决方法来解决我的问题。 它并不完美,但它有效。

  1. 禁用将 USB 桥接到 VirtualBox 机器

  2. 在主机上安装平台工具并运行adb devices

  3. 在设备屏幕上授权您的计算机

  4. 在虚拟机中创建一个将本地端口 5037 重定向到主机 5037 端口的 tcp 隧道:

    ssh -L 5037:10.0.2.2:5037 localhost -N -f

我不会将此标记为正确答案,因为我的访客 ADB 仍然看不到我的设备

当我将设备 USB 更改为仅充电模式时,它起作用了。

参考: https : //askubuntu.com/a/632668

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM