adb網路除錯

Just4life發表於2013-09-13
對Android比較熟悉的開發人員,對adb通過USB(USB連線Android裝置)除錯Android裝置應該不會陌生,因為大部分資料都是這樣做的。但是假如你的Android裝置沒有USB口,只有網口,能不能除錯呢?(比如移植過程中通過NFS啟動的Android系統,再比如你的裝置上面USB裝置匱乏。)答案是肯定的。本文我將以我最近的經驗,介紹一下adb怎樣通過tcp/ip來除錯Android裝置。
    adb早期版本只能通過USB來對裝置除錯,adb v1.0.25開始,增加了對通過tcp/ip除錯Android裝置的功能

如果你想adb通過tcp/ip來除錯裝置,必須要滿足如下條件:

1、裝置上面首先要有網口。沒有網口,那就是“巧婦難為無米之炊”了。

2、裝置和研發機(PC機)已經接入區域網,並且裝置設有區域網的IP地址

3、要確保研發機和裝置能夠相互ping得通。

4、研發機已經安裝了Android SDK(要確保SDK版本是2.0之後的版本)。(確保有相應的環境變數,adb在sdk的platform-tools目錄下,所以要將platform-tools所在地路徑

5、檢查研發機上的adb的版本,是否是1.0.25之後的版本。方法就是在shell中敲入adb,回車,顯示幫助,第一行就是adb版本資訊,如上面所示。

6、確保Android裝置中adbd程式(adb的後臺程式)已經執行。adbd程式將會監聽埠5555來進行adb連線除錯。

 本文假設裝置的ip為192.168.1.5,下文將會用這個IP建立adb連線,並除錯裝置。

1、首先Android裝置需要先啟動,如果可以話,可以確保一下adbd啟動。

2、在研發機中,輸入:

adb connect 192.168.1.5:5555

如果連線成功會進行相關的提示,如果失敗的話,可以先kill-server命令,然後重試連線。

adb kill-server

3、如果連線已經建立,在研發機中,可以輸入adb相關的命令進行除錯了。比如adb shell,將會通過tcp/ip連線裝置上面。和USB除錯是一樣的。這裡就不多說了。

4、除錯完成之後,在研發機上面輸入如下的命令斷開連線:

adb disconnect 192.168.1.5:5555

     這樣就通過TCP/IP完成了對Android裝置的除錯工作了,希望對大家有所幫助。如有錯誤的地方,請不吝指教。

   下面通過學校開發板sep6200介紹下:首先檢視板子靜態ip地址,在kernel/root/init.djstjava.sh指令碼中,如下

#!/system/bin/sh

ifconfig eth0 172.20.106.149 netmask 255.255.255.0 up

route add default gw 172.20.106.146 dev etho

上面指令碼中172.20.106.149為板子ip,172.20.106.146為pc機ip。

啟動android後,在pc終端輸入adb connect 172.20.106.149,連線成功後輸入adb shell即可。


相關文章