ubuntu下连接设备首次使用adb shell报错ADB server didn't ACK
* daemon not running; starting now at tcp:5037
ADB server didn't ACK
Full server startup log: /tmp/adb.1000.log
Server had pid: 28462
--- adb starting (pid 28462) ---
12-05 17:04:56.524 28462 28462 I adb : main.cpp:63 Android Debug Bridge version 1.0.41
12-05 17:04:56.524 28462 28462 I adb : main.cpp:63 Version 35.0.2-12147458
12-05 17:04:56.524 28462 28462 I adb : main.cpp:63 Installed as /home/boe/Android/Sdk/platform-tools/adb
12-05 17:04:56.524 28462 28462 I adb : main.cpp:63 Running on Linux 5.15.0-130-generic (x86_64)
12-05 17:04:56.524 28462 28462 I adb : main.cpp:63
12-05 17:04:56.524 28462 28462 I adb : auth.cpp:416 adb_auth_init...
12-05 17:04:56.525 28462 28469 E adb : usb_libusb.cpp:944 failed to register inotify watch on '/dev/bus/usb/001/', falling back to sleep: No space left on device
12-05 17:04:56.525 28462 28472 E adb : usb_libusb.cpp:944 failed to register inotify watch on '/dev/bus/usb/001/', falling back to sleep: No space left on device
12-05 17:04:56.525 28462 28471 E adb : usb_libusb.cpp:944 failed to register inotify watch on '/dev/bus/usb/001/', falling back to sleep: No space left on device
12-05 17:04:56.525 28462 28470 E adb : usb_libusb.cpp:944 failed to register inotify watch on '/dev/bus/usb/002/', falling back to sleep: No space left on device
12-05 17:04:56.525 28462 28462 I adb : auth.cpp:152 loaded new key from '/home/xxx/.android/adbkey' with fingerprint 8A10C87F6919EFEA71188EDB8A6A0BFC23820566D328CA1EDF8F845A53BA9FF9
12-05 17:04:56.525 28462 28462 I adb : auth.cpp:391 adb_auth_inotify_init...
12-05 17:04:56.525 28462 28462 I adb : udp_socket.cpp:170 AdbUdpSocket fd=17
12-05 17:04:56.525 28462 28462 I adb : udp_socket.cpp:170 AdbUdpSocket fd=18
12-05 17:04:56.525 28462 28462 I adb : udp_socket.cpp:274 SetMulticastOutboundInterface for index=2
12-05 17:04:56.525 28462 28462 I adb : udp_socket.cpp:533 bind endpoint=0.0.0.0:5353
12-05 17:04:56.525 28462 28462 I adb : udp_socket.cpp:274 SetMulticastOutboundInterface for index=2
12-05 17:04:56.525 28462 28462 I adb : udp_socket.cpp:558 bind endpoint=[0000:0000:0000:0000:0000:0000:0000:0000]:5353 scope_id=0
12-05 17:04:56.525 28462 28462 I adb : udp_socket.cpp:170 AdbUdpSocket fd=19
12-05 17:04:56.525 28462 28462 I adb : udp_socket.cpp:170 AdbUdpSocket fd=20
12-05 17:04:56.525 28462 28462 I adb : udp_socket.cpp:274 SetMulticastOutboundInterface for index=10
12-05 17:04:56.525 28462 28462 I adb : udp_socket.cpp:533 bind endpoint=0.0.0.0:5353
12-05 17:04:56.525 28462 28462 I adb : udp_socket.cpp:274 SetMulticastOutboundInterface for index=10
12-05 17:04:56.525 28462 28462 I adb : udp_socket.cpp:558 bind endpoint=[0000:0000:0000:0000:0000:0000:0000:0000]:5353 scope_id=0
12-05 17:04:57.525 28462 28462 E adb : usb_libusb.cpp:598 failed to open device: Access denied (insufficient permissions)
12-05 17:04:57.525 28462 28462 I adb : transport.cpp:1153 0: connection terminated: failed to open device: Access denied (insufficient permissions)
* failed to start daemon
adb: cannot connect to daemon
这个错误表明 ADB 无法启动守护进程(adb daemon),主要原因是 USB 设备访问权限不足(Access denied (insufficient permissions))。
解决方法:使用正常可以adb调试的机器,将路径/usr/lib/udev/rules.d/51-android.rules拷贝至异常机器的/usr/lib/udev/rules.d/路径下。然后执行adb shell
可以正常识别到设备,问题解决!!