本篇文章是来帮助大家解决,当在Ubuntu系统下用ADB调试Android时找不到设备的解决方法,作者详细列出了具体操作步骤,大家一起来学习一下吧!
最近在写一个播放rtsp的测试程式,这个需要真机上测试,结果在Ubuntu 11.04上,接上Android2.1的手机后,adb service没有找到设备,只有模拟器的。于是上网查找了资料,经过研究后终于把这个问题给解决掉了。
首先确认,我已经在G1的settings-applications-development-debug mode里面打勾。而且手机也有提示connected,但是adb死活不认。最后找到了解决方法,一次成形。
首先按照 SDK 上的说明建立 udev 的 rules 文件,然后:
在 Ubuntu 11.04 下通过usb连接 Android设备,使用 adb 时,会返回无法找到设备,解决办法如下:
1. 在终端运行 lsusb
会发现结果有会有如下类似记录:
Bus 001 Device 008: ID 0bb4:0c02 High Tech Computer Corp.
这时键入
sudo vim /etc/udev/rules.d/50-Android.rules
在打开的文件中增加以下文本(注意名字"High Tech Computer Corp."):
SUBSYSTEM=="usb", SYSFS{"High Tech Computer Corp."}=="0bb4", MODE="0666"
2. 运行以下命令:
sudo chmod a+rx /etc/udev/rules.d/50-Android.rules sudo /etc/init.d/udev restart
3. 在 Android sdk 的 tools 目录下运行 (这一步很重要,必须要sudo,否则没效果)
sudo ./adb kill-server sudo ./adb devices
然后,就可以直接用 adb 来进行操作了。
若继续在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$ ./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
sudo ./adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
到这一步了,结果发现 List of devices attached 下面没有设备出现,这就意味着 adb不识别新的USB 设备,纠结了。
如果跟我一样悲惨,请执行如下操作
~$ cd ~ ~$ cd .android/
:~/.android$ ls adbkey adb_usb.ini~ avd debug.keystore repositories.cfg adbkey.pub androidtool.cfg cache default.keyset sites-settings.cfg adb_usb.ini androidwin.cfg ddms.cfg modem-nv-ram-5554
这次设备就被正确识别了。自然地, 像ddms之类的工具也能派上用场了。请注意这个 adb_usb.ini(如果没有,可以自己建立一个)
:~/.android$ gedit adb_usb.ini
里面的内容一般如下:
# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT. # USE 'android update adb' TO GENERATE. # 1 USB VENDOR ID PER LINE.
我们在其中加一行
# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT. # USE 'android update adb' TO GENERATE. # 1 USB VENDOR ID PER LINE. 0x2717
请注意,这个 0x2717 就是我们得到的设备号码
保存,关掉,然后
:~/android-sdk/platform-tools$ sudo ./adb kill-server
:~/android-sdk/platform-tools$ sudo ./adb devices
List of devices attached 9109ce53 device
注意 9109ce53 device 这行就是我们的识别到的小米手机了。哈哈