Android: adbコマンドでネットワークを介して実機に接続

adb(Android Debug Bridge)コマンドで実機に接続する場合、USB接続が普通かと思いますが、ネットワーク(WiFi)を介してもできます。

今回は、実機(htc EVO WiMAX)にネットワークを介して接続してみました。
この場合、実機側のadbd(adbデーモン)がポート(デフォルトは5555)を開けていなければなりません。
 *訂正 10/30/2011 (誤:adbサーバ → 正:adbデーモン) = > こちら を参考に。
adbdのポートを開けるために、以下のサイトからadbWireless.apkをダウンロード/インストールして実行します。
http://www.4shared.com/file/3u2T9olP/adbWireless.html

adbWirelessを実行するためにはroot化が必要でした。root化の方法については こちら を参照。

・インストール

[platform-tools]$ ./adb install ~/ダウンロード/adbWireless.apk 1233 KB/s (135180 bytes in 0.107s) pkg: /data/local/tmp/adbWireless.apk Success

・実行
 

以下、2つの方法のどちらかで実機に接続できます。実機のIPアドレスが 172.16.210.169 の例です。
[方法1]

[platform-tools]$ ./adb connect 172.16.210.169 unable to connect to 172.16.210.169:5555 **************** adbWireless を実行******************** [platform-tools]$ nmap 172.16.210.169 ........................ PORT STATE SERVICE 5555/tcp open freeciv ........................ [platform-tools]$ ./adb connect 172.16.210.169 connected to 172.16.210.169:5555 [platform-tools]$ ./adb devices List of devices attached 172.16.210.169:5555 device [user01@lx02 platform-tools]$ ./adb shell $ netstat Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:9734 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:65511 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:16650 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:43150 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:5555 0.0.0.0:* LISTEN    ←@@@ tcp 0 0 127.0.0.1:7773 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:7774 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:9734 127.0.0.1:60899 ESTABLISHED tcp 123 0 172.16.210.169:5555 172.16.210.195:41036 ESTABLISHED  ←@@@

[方法2]

[platform-tools]$ export ADBHOST=172.16.210.169 **************** adbWireless を実行******************** [platform-tools]$ nmap 172.16.210.169 ........................ PORT STATE SERVICE 5555/tcp open freeciv ........................ [platform-tools]$ ./adb devices List of devices attached [platform-tools]$ ./adb kill-server [platform-tools]$ ./adb start-server * daemon not running. starting it now on port 5037 * * daemon started successfully * [platform-tools]$ ./adb devices List of devices attached emulator-5554 device [platform-tools]$ ./adb shell $ su # PATH=/data/local/bin:$PATH # bash bash-4.1# netstat Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:9734 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:65511 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:5555 0.0.0.0:* LISTEN  ←@@@ tcp 0 0 127.0.0.1:48857 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:7771 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:7772 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:7773 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:7774 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:7771 127.0.0.1:60297 ESTABLISHED tcp 0 0 127.0.0.1:9734 127.0.0.1:57094 ESTABLISHED tcp 50 0 172.16.210.169:5555 172.16.210.195:52970 ESTABLISHED  ←@@@ bash-4.1#