在linux里面,模拟器可以直接识别,使用adb也没有限制,但是手机插上usb之后,adb并不识别,显示的是问号,在eclipse里面也是这样。
解决方法如下:
1.在bash中输入lsusb,可以看到很多BUS设备,很多都是Linux Foundation 1.1 root hub的,这是没有插上usb设备的端口,插上手机的端口会出现另外的字符串,比如我的是High Tech Computer Corp. 然后记下它的id:0bb4:0c02
2.在/etc/udev/rules.d目录下新建一个51-Android.rules文件,内容如下:
Java代码
- SUBSYSTEM==“usb|usb_device”, SYSFS{idVendor}==“0bb4”, MODE=“0660”,GROUP=“plugdev”
- SUBSYSTEM==“usb|usb_device”, ATTR{idVendor}==“0bb4”, ATTR{idProduct}==“0c02”, SYMLINK+=“android_adb”
- SUBSYSTEM==“usb|usb_device”, ATTR{idVendor}==“0bb4”, ATTR{idProduct}==“0c01”, SYMLINK+=“android_fastboot”
这里的idVendor是第一步中记下的id。
3.执行如下命令
Java代码
- chmod a+r /etc/udev/rules.d/51-android.rules
- sudo adb kill-server
- sudo adb devices
然后就会发现 adb可以用了。