【问题标题】:Device not listed by adb devices on a virtual machine guest虚拟机来宾上的 adb 设备未列出设备
【发布时间】:2018-09-05 18:59:56
【问题描述】:

为什么我的安卓手机没有被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:~$

【问题讨论】:

  • 您是否在您的设备上启用了developer options and enable debug mode
  • 调试模式已启用。重新启动设备和主机。还是没有列出来。
  • 我不确定 ADB 是否可以在 VM 中工作,即使可以看到该设备。
  • 请不要使用文字截图
  • @AlexP。好的。已删除。

标签: android linux adb virtualbox


【解决方案1】:

无论特定平台如何,在虚拟化环境中使用adb 的简单方法是在主机上作为远程系统运行adb server,并在来宾系统内运行adb 客户端。见my answer to another question here

虽然可以在访客系统中完全运行服务器和客户端,但要可靠地执行此操作通常需要将整个 USB 控制器传递到访客系统中。

【讨论】:

    【解决方案2】:

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

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

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

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

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

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-27
        • 2018-08-08
        • 2012-05-31
        • 1970-01-01
        相关资源
        最近更新 更多