通过google搜索解决了adb连接不上真实android设备的问题。主要来自下面两个网页的知识:
http://forum.xda-developers.com/showthread.php?p=22067293
http://mjanja.co.ke/2012/02/using-adb-on-the-kindle-fire
十分感谢!
我的环境是ubuntu 10.04 64bit,使用最新android SDK中的adb;要连接的真实android设备暂时是个非主流的平板电脑,运行android 4.0.3系统。
下面列出解决步骤:
1)先不连接android设备,用
lsusb 命令查看已经连接上的usb设备信息。
2)开启android设备上的USB调试模式。方法:设备的android系统中选setting --> developer options --> 勾选USB debugging,然后连接上开发PC。
3)用
lsusb 命令查看已经连接上的usb设备情况,和第1步的结果比较找出刚连接上的android设备的vendor ID和product ID。如:
Bus 003 Device 002: ID 2207:0000
其中,2207是vendor ID,0000是product ID。
4)新建或编辑
/etc/udev/rules.d/51-android.rules,增加一行下面的内容(注:jun是我电脑上的用户名):
SUBSYSTEM=="usb", ATTR{idVendor}=="2207", ATTR{idProduct}=="0000", MODE="0600", OWNER="jun"
保存退出。要使得生效,也许要注销后再登录。
20120614补:显然不用注销再登录的。保存文件后,回到命令行,运行:
sudo service udev restart
然后拔掉USB,重新插USB。大部分情况下,不用第5步,直接到第6步。如果不行,可尝试用第5步。
5)在~/.android目录下新建或编辑文件
adb_usb.ini,把第3步得到的vendor ID写入文件(前要加0x表示16进制数),并占一行。即:
0x2207
6)进入SDK的platform-tools目录,运行
./adb kill-server,然后运行
./adb devices,如果显示出已经连接的android设备,那么运行
./adb shell
就能进入android设备的shell。ok, enjoy it!
注:如果还没生效,可以尝试下重启系统。在我的电脑上,不用重启,就ok了。
补:如果没有进行上面的第4步,直接到第5步,在./adb devices时,也许会显示???????
no permissions的问题。
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 005: ID 04d9:1605 Holtek Semiconductor, Inc.
Bus 001 Device 006: ID 093a:2521 Pixart Imaging, Inc.
Bus 003 Device 006: ID 2207:0010
vim /etc/udev/rules.d/70-android.rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="2207", MODE="0777",OWNER="ya" ,GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="2207", ATTR{idProduct}=="0010", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="2207", ATTR{idProduct}=="0010", SYMLINK+="android_fastboot"
如果上述方法还不行:
cd .android/
vim adb_usb.ini
加入:0x2207即可