原因
adb 内建有一个知名的厂商 ID 列表,对于列表内的设备,adb 可以直接连接,而不在列表中的设备,它会直接返回,这也就是为什么 android 设备的驱动已经安装好了,而 adb 连接不上的原因。
解决方案
1、用 “lsusb” 命令查询 usb 设备 id;
其中 “Device 005” 就是手机设备,usb id 为 “0e8d”;
2、adb 除了内建的一个列表之后,还有一个 adb_usb.ini 文件维护可信任的第三方厂商列表,需要把 “VID(Vender ID)” 写到 adb_usb.ini 中;
3、进入 ~/.android/ 目录,创建 adb_usb.ini 文件;
4、编辑 adb_usb.ini 文件,将设备的 "usb id" 添加到文件里;(0x ID)
5、“adb kill-server” 杀死 adb 服务;
6、“adb devices” 即可查找到设备;
7、如果出现 offline 的情况,如下图,重新插拔 USB 线,勾选手机界面弹出来的窗口即可。