最近在写一个播放
rtsp
的测试程式,这个需要真机上测试,结果在
Ubuntu
11
.
04
上,接上
Android
2
.
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
在打开的文件中增加以下文本:
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
这次设备就被正确识别了。自然地,
像
ddms
之类的工具也能派上用场了。