最近在寫一個播放rtsp的測試程式,這個需要真機上測試,結果在Ubuntu 10.04上,接上Android2.1的手機後,adb service沒有找到設備,只有模擬器的。
於是上網找了寫資料,以下兩篇文章幫助我解決了這個問題。
No. 1
首先確認,我已經在G1的settings-applications-development-debug mode裡面打勾。而且手機也有提示connected,但是adb死活不認。
最後找到了解決方法,一次成形。
以下為引用全文
SDK 上關於如何在 Ubuntu上安裝 adb驅動的說明並不詳細,經過搜索找到了確實的解決方法,首先按照 SDK 上的說明建立 udev 的 rules 文件,然後:
在 Ubuntu 9.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 來進行操作了。
No. 2
在ubuntu(9.10)下執行adb devices命令, 返回的結果是:
List of devices attached
???????????? no permissions
這意味著,USB連接的設備是能夠被識別的。Google之後,得知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之類的工具也能派上用場了。