Ubuntu adb 找不到设备的解决方法

问题描述与背景:
测试手机连接PC后adb devices下无设备。已经在手机端打开USB调试,USB连接没有问题,可以打开手机的存储设备。
下面是解决的方法,主要参考网络。

1、lsusb找到设备ID

ubuntu@ubuntu:~$ lsusb
Bus 001 Device 002: ID 03f0:034a Hewlett-Packard 
Bus 001 Device 003: ID 045e:0084 Microsoft Corp. Basic Optical Mouse
Bus 001 Device 083: ID 2a96:201d  
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

2、注册到udev的rules文件:

ubuntu@ubuntu:~$ sudo gedit /etc/udev/rules.d/51-android.rules

如在51-android.rules中找不到“ID 2a96:201d”,则添加如下:

SUBSYSTEM=="usb", ATTR{idVendor}=="2a96", ATTR{idProduct}=="201d", MODE="0600", OWNER="ubuntu"

3、重启udev service

ubuntu@ubuntu:~$ sudo service udev restart
udev stop/waiting
udev start/running, process 6801

4、重启adb的服务

ubuntu@ubuntu:~$ adb kill-server
ubuntu@ubuntu:~$ adb start-server

以上步骤还是找不到设备,原因是“adb内建有一个知名的厂商ID列表,对于列表内的设备,adb可以直接连接,而不在列表中的设备,它会直接返回,这也就是为什么android设备的驱动已经安装好了,而adb连接不上的原因。”
解决方案如下:

5、进入~/.android/目录,创建adb_usb.ini文件;
6、编辑adb_usb.ini文件,将设备的usb id添加到文件里

0x2a96

7、再重启adb的服务

ubuntu@ubuntu:~$ adb kill-server
ubuntu@ubuntu:~$ adb start-server

8、最后,用adb devices重新查找设备,就可以找到了。


版权声明:本文为book_windtyj原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。