背景:
1、Ubuntu 12.04
2、Eclipse v22.3
在eclipse下 的 DDMS中发现找到的设备为Name为“??????” “Unknow”,很明确,系统不识别该设备
解决方法:
需要在如下位置建立如下文件:“/etc/udev/rules.d/50-android.rules” (注:文件名前的数字"50"可以自己更改)
步骤:
1)确保android设备已经与电脑连接,在Terminal输入lsusb,会出现设备的信息如
”Bus 001 Device 004: ID 18d1:0002 Google Inc. “
记录该信息的”ID“字段信息。
2)终端输入命令“ sudo vim /etc/udev/rules.d/70-android.rules” ,打开的文件”70-android.rules“中添加如下信息
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="0002", MODE="0666"
按ESC键退出输入,命令“ :x” 保存并退出。
3) 然后运行以下命令:
sudo chmod a+rx /etc/udev/rules.d/50-android.rules
sudo /etc/init.d/udev restart
如果使用sudo /etc/init.d/udev restart出现错误提示如下:
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service udev restart
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the restart(8) utility, e.g. restart udev
udev start/running, process 2127
应该执行: sudo service udev restart
5) 在 android sdk 的platform-tools 目录下运行 (这一步很重要,必须要sudo)
sudo ./adb kill-server 然后拔掉USB重新连接 是否识别设备。
sudo ./adb start-server
sudo ./adb devices
若继续在Ubuntu 11.04 下执行adb devices命令, 返回的结果是:
List of devices attached ???????????? no permissions
这意味着,USB连接的设备是能够被识别的。经过上网查找之后,得知adb server需要以root的权限启动,于是有了如下命令:
www.linuxidc.com@linuxidc-laptop:~/Dev/Java/Android/android-sdk-linux_86/tools$ sudo ./adb kill-server
www.linuxidc.com@linuxidc-laptop:~/Dev/Java/Android/android-sdk-linux_86/tools$ sudo ./adb start-server
* daemon not running. starting it now *
* daemon started successfully *
第一条命令用来杀死当前正在运行的server, 第二条命令则以root的权限启动了新的server. 我们可以再次查看devices:
www.linuxidc.com@linuxidc-laptop:~/Dev/Java/Android/android-sdk-linux_86/tools$ ./adb devices
List of devices attached
HT848KV04386 device