VirtualBox 虚拟机Ubuntu adb无法识别手机

环境

环境如下:
宿主机HOST:Windows 10
虚拟机软件:VirtualBox 6.0
虚拟机:Ubuntu 18.0.4
遇到的问题:手机连接pc后,在虚拟机的android studio中无法识别。

解决办法

1. 首先需要将手机USB挂载到虚拟机上
选择菜单栏设备->USB,勾选连接上的手机。如下图所示:

image.png

这里我的测试机是vivo x21A。

勾选上后,进入虚拟机,执行命令adb deivces查看设备连接状态,如果你运气好,直接就是连接成功的话,那么下面的第二步可以跳过。如果你看到下面这种:

List of devices attached
868eaad3    no permissions (user in plugdev group; are your udev rules wrong?); see [http://developer.android.com/tools/device.html]

请继续往下看。

2. 配置USB驱动
第一步操作后出现没有权限的情况,需要在配置文件中进行配置。
编辑/etc/udev/rules.d/51-android.rules文件,根据手机USB配置添加以下内容:

SUBSYSTEM=="usb", ATTRS{idVendor}=="2d95", ATTRS{idProduct}=="6001",MODE="0666"

注意idVendor和idProduct需要根据你手机USB的配置进行修改。

可以采用命令sudo gedit /etc/udev/rules.d/51-android.rules打开gedit进行添加。

如何查看手机USB配置?有两种方法:

  • 方法一:注意看我第一步的截图,当鼠标移动在vivo X21A上时候,会显示供应商标识(即idVendor)和产品标识(即idProduct)
  • 方法二:通过lsusb命令查看。ID后面的2d95:6001idVendor:idProduct
luckyshane@luckyshane-VirtualBox:~$ lsusb
Bus 001 Device 008: ID 2d95:6001  
Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

配置完成后,执行以下命令使得配置生效

sudo chmod a+rx /etc/udev/rules.d/51-android.rules
sudo service udev restart
sudo adb kill-server
sudo adb start-server
sudo devices

推荐阅读更多精彩内容