Ubnutu ADB 无法识别设备的解决方法
1. 正确安装adb
下载地址
2. 检查 Linux 是否识别设备
lsusb
通过上述指令,分别查询插入、断开设备的usb设备表,如下所示:
# 插入设备
adbc:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 011: ID 0424:49a0 Microchip Technology, Inc. (formerly SMSC) USB2 Controller Hub
Bus 001 Device 010: ID 18d1:4ee7 Google Inc. Nexus/Pixel Device (charging + debug)
Bus 001 Device 009: ID 0424:4815 Microchip Technology, Inc. (formerly SMSC) USB24915C
Bus 001 Device 004: ID 0cf3:e007 Qualcomm Atheros Communications
Bus 001 Device 003: ID 0c45:6717 Microdia Integrated_Webcam_HD
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub# 拔除设备
adbc:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0cf3:e007 Qualcomm Atheros Communications
Bus 001 Device 003: ID 0c45:6717 Microdia Integrated_Webcam_HD
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
从而得到设备的供应商 ID,例如:
Bus 001 Device 010: ID 18d1:4ee7 Google Inc. Nexus/Pixel Device (charging + debug)
3. 添加(或更新)udev 规则
创建一个文件 /etc/udev/rules.d/51-android.rules
,每个供应商一行,例如:
# Google
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="4ee7", GROUP="plugdev"
使其可读:
sudo chmod a+r /etc/udev/rules.d/51-android.rules
重新加载 udev 规则并重启服务:
sudo udevadm control --reload-rules
sudo udevadm trigger
4. 确保用户属于 plugdev 组
groups # check if you see “plugdev”
sudo usermod -aG plugdev $USER
# then log out & log back in (or reboot)
5. 终止并重启 ADB 服务器
adb kill-server
adb start-server
adb devices
设备被列出
List of devices attached
436dba17 device