Ubuntu下ADB調(diào)試Android找不到設(shè)備的解決方法
最近在寫一個(gè)播放rtsp的測(cè)試程式,這個(gè)需要真機(jī)上測(cè)試,結(jié)果在Ubuntu 11.04上,接上Android 2.1的手機(jī)后,adb service沒有找到設(shè)備,只有模擬器的。于是上網(wǎng)查找了資料,經(jīng)過研究后終于把這個(gè)問題給解決掉了。
首先確認(rèn),我已經(jīng)在G1的settings-applications-development-debug mode里面打勾。而且手機(jī)也有提示connected,但是adb死活不認(rèn)。***找到了解決方法,一次成形。
首先按照 SDK 上的說(shuō)明建立 udev 的 rules 文件,然后:
在 Ubuntu 11.04 下通過usb連接 Android設(shè)備,使用 adb 時(shí),會(huì)返回?zé)o法找到設(shè)備,解決辦法如下:
1. 在終端運(yùn)行 lsusb
會(huì)發(fā)現(xiàn)結(jié)果有會(huì)有如下類似記錄:
Bus 001 Device 008: ID 0bb4:0c02 High Tech Computer Corp.
這時(shí)鍵入
sudo vim /etc/udev/rules.d/50-Android.rules
在打開的文件中增加以下文本:
SUBSYSTEM=="usb", SYSFS{"High Tech Computer Corp."}=="0bb4", MODE="0666"
2. 運(yùn)行以下命令:
sudo chmod a+rx /etc/udev/rules.d/50-Android.rules sudo /etc/init.d/udev restart
3. 在 Android sdk 的 tools 目錄下運(yùn)行 (這一步很重要,必須要sudo,否則沒效果)
sudo ./adb kill-server sudo ./adb devices
然后,就可以直接用 adb 來(lái)進(jìn)行操作了。
若繼續(xù)在Ubuntu 11.04 下執(zhí)行adb devices命令, 返回的結(jié)果是:
List of devices attached ???????????? no permissions
這意味著,USB連接的設(shè)備是能夠被識(shí)別的。經(jīng)過上網(wǎng)查找之后,得知adb server需要以root的權(quán)限啟動(dòng),于是有了如下命令:
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 *
***條命令用來(lái)殺死當(dāng)前正在運(yùn)行的server, 第二條命令則以root的權(quán)限啟動(dòng)了新的server. 我們可以再次查看devices:
www.linuxidc.com@linuxidc-laptop:~/Dev/Java/Android/android-sdk-linux_86/tools$ ./adb devices List of devices attached HT848KV04386 device
這次設(shè)備就被正確識(shí)別了。自然地, 像ddms之類的工具也能派上用場(chǎng)了。
【編輯推薦】