Устройство, отсутствующее в списке устройств adb на гостевой виртуальной машине - PullRequest
0 голосов
/ 05 сентября 2018

Почему мой телефон Android не указан в списке adb devices?

Я следовал инструкциям, описанным в https://developer.android.com/studio/run/device, но ADB все еще не находит мое устройство. Мой пользователь уже является членом группы plugdev. Я также пытался убить и перезапустить сервер adb.

Я использую Debian Stretch на компьютере с VirtualBox. 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:~$

Ответы [ 3 ]

0 голосов
/ 06 сентября 2018

Простой способ использования adb в виртуализированной среде независимо от конкретных платформ - запустить adb server на хосте в качестве удаленной системы и запустить adb клиентов в гостевых системах. См. мой ответ на другой вопрос здесь .

Хотя сервер и клиенты могут работать полностью внутри гостевой системы, для этого обычно требуется прохождение всего USB-контроллера в гостевую систему.

0 голосов
/ 06 сентября 2018

Это сработало, когда я переключил USB своего устройства в режим только зарядки.

Ссылка: https://askubuntu.com/a/632668

0 голосов
/ 06 сентября 2018

Я сделал обходной путь, который решил мою проблему. Это не идеально, но это работает.

  1. Отключить соединение USB с машиной VirtualBox
  2. Установите инструменты платформы на хост-компьютере и запустите adb devices
  3. Авторизация вашего компьютера на экране устройства
  4. В виртуальной машине создайте туннель tcp, который перенаправляет локальный порт 5037 на порт хоста 5037:

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

Я не собираюсь отмечать это как правильный ответ, потому что мой Guest ADB все еще не видит мое устройство

...