以前调试的Android板子,都是直接用的Google的usb设备id,adb一般默认就能够识别。如果调试国产的瑞芯微的板子,很多adb事不能够识别的。在Windows下还有“360助手”、“91助手”来解决。Linux下似乎并没有一家来做手机助手的,所以就要自己来解决了。
在终端运行 lsusb 会发现结果有会有如下类似记录:
Bus 001 Device 019: ID 18d1:0003 Google Inc.
sudo gedit /etc/udev/rules.d/51-android.rules
在打开的文件中增加以下文本:
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666", OWNER="lyn"
运行以下命令:
sudo chmod a+rx /etc/udev/rules.d/51-android.rules
sudo /etc/init.d/udev restart
在android sdk 的 tools 目录下运行
sudo ./adb kill-server
sudo ./adb devices
然后,就可以识别设备了。
我的51-android.rules内容如下:
######################################################
# Project: http://code.google.com/p/51-android/ #
# File: /etc/udev/rules.d/51-android.rules #
# Author: lynchyo #
# Blog: http://blog.csdn.net/lynchyo #
# Date: 2010.06.07 #
######################################################
#Acer
SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0660", OWNER="lynchyo"
#ASUS
SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0660", OWNER="lynchyo"
#Dell
SUBSYSTEM=="usb", ATTRS{idVendor}=="413", MODE="0660", OWNER="lynchyo"
#Actions Semiconductor
SUBSYSTEM=="usb", ATTRS{idVendor}=="10d6", MODE="0660", OWNER="lynchyo"
#AllWinner
#SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0660", OWNER="lynchyo"
#Foxconn
SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0660", OWNER="lynchyo"
#Fujitsu/Fujitsu Toshiba
SUBSYSTEM=="usb", ATTRS{idVendor}=="04c5", MODE="0660", OWNER="lynchyo"
#Garmin-Asus
SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0660", OWNER="lynchyo"
#Google
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666", OWNER="lynchyo"
#Hisense
SUBSYSTEM=="usb", ATTRS{idVendor}=="109b", MODE="0660", OWNER="lynchyo"
#HTC
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0660", OWNER="lynchyo"
#HTC HERO
#Huawei
SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0660", OWNER="lynchyo"
#K-Touch
SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0660", OWNER="lynchyo"
#KT Tech
SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0660", OWNER="lynchyo"
#Kyocera
SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0660", OWNER="lynchyo"
#Lenovo
SUBSYSTEM=="usb", ATTRS{idVendor}=="2006", MODE="0660", OWNER="lynchyo"
#LG
SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0660", OWNER="lynchyo"
#Motorola
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0660", OWNER="lynchyo"
#NEC
SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0660", OWNER="lynchyo"
#Nook
SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0660", OWNER="lynchyo"
#Nvidia
SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0660", OWNER="lynchyo"
#OTGV
SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0660", OWNER="lynchyo"
#Pantech
SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0660", OWNER="lynchyo"
#Pegatron
SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0660", OWNER="lynchyo"
#Philips
SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0660", OWNER="lynchyo"
#PMC-Sierra
SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0660", OWNER="lynchyo"
#Qualcomm
SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0660", OWNER="lynchyo"
#SK Telesys
SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0660", OWNER="lynchyo"
#Samsung
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0660", OWNER="lynchyo"
#Sharp
SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0660", OWNER="lynchyo"
#Sony
SUBSYSTEM=="usb", ATTRS{idVendor}=="054c", MODE="0660", OWNER="lynchyo"
#Sony Ericsson
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0660", OWNER="lynchyo"
#Teleepoch
SUBSYSTEM=="usb", ATTRS{idVendor}=="2340", MODE="0660", OWNER="lynchyo"
#Toshiba
SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0660", OWNER="lynchyo"
#ZTE
SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0660", OWNER="lynchyo"
#motorola
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="42d9",MODE="0666",OWNER="lynchyo"
如果不行,看是否有重复的id,我就遇到过存在两个18d1。
#AllWinner
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0660", OWNER="lynchyo"
#Google
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666", OWNER="lynchyo"
导致插入google的设备不能识别,注释掉其中一个即可。