ADBオーバーネットワークでWiFiで複数端末を一括接続する

 

便利なものでUSB接続なしでもADBデバックできます。

CyanogenMod標準実装のADBオーバーネットワークとか。

adb over network

rooted なアプリとか。

WiFiで接続できれば USBケーブルが不要になるアプリ – ADB Wireless  WiFiで接続できれば USBケーブルが不要になるアプリ – ADB Wireless | 新! #android ファッション通信 Σ(^A^;)

USBを抜いたり挿したりするのが不要になります。


$ adb connect 192.168.0.3:5555

このとき Android側のIPアドレスがローカルルータなDHCPとかで変わったりします。
固定にもできるようですが、衝突とか、リリース範囲とかあるので。

Android OS 4.0 では WiFiアクセスポイント別に静的IPアドレスやDNSの設定が可能になっておる Android OS 4.0 では WiFiアクセスポイント別に静的IPアドレスやDNSの設定が可能になっておる | 新! #android ファッション通信 Σ(^A^;)

よく切れたり、 IPアドレス調べたり、なんか面倒くさいので
一括で全部接続してあと切替はIDEに任せればいいと思ったりしました。

接続端末切替

ただIDEで切替するには、すべての実機を接続しなくてはいけません。

実機の接続できる可能性のあるIPアドレスに対して、
確認してすべて一括で接続しちゃいましょう。

こんなかんじで。


#!/bin/sh
for i in {1..10}
do
    target=192.168.0.${i}
    echo ${target}
    ping -W 3 -c 1 ${target} >/dev/null 2>&1 && nc -v -z ${target} 5555 >/dev/null 2>&1 && adb connect ${target}
done;

adb devices -l

実行するとこんなかんじで。
2回実行してみます。


~$ ./adb_connect_multi.sh
192.168.0.1
192.168.0.2
192.168.0.3
connected to 192.168.0.3:5555
192.168.0.4
192.168.0.5
connected to 192.168.0.5:5555
192.168.0.6
192.168.0.7
192.168.0.8
192.168.0.9
192.168.0.10
List of devices attached
BC6CPP14456            device usb:1B134000
192.168.0.3:5555       device product:occam model:Nexus_4 device:mako
192.168.0.5:5555       device product:yakju model:Galaxy_Nexus device:maguro


~$ ./adb_connect_multi.sh
192.168.0.1
192.168.0.2
192.168.0.3
already connected to 192.168.0.3:5555
192.168.0.4
192.168.0.5
already connected to 192.168.0.5:5555
192.168.0.6
192.168.0.7
192.168.0.8
192.168.0.9
192.168.0.10
List of devices attached
BC6CPP14456            device usb:1B134000
192.168.0.5:5555       device product:yakju model:Galaxy_Nexus device:maguro
192.168.0.3:5555       device product:occam model:Nexus_4 device:mako

てなかんじで、一括でまとめて。

接続を解除は以下で、USBを除く全てを切断と。


$ adb disconnect


disconnect [<host>[:<port>]]  - disconnect from a TCP/IP device.
                                 Port 5555 is used by default if no port number is specified.
                                 Using this command with no additional arguments
                                 will disconnect from all connected TCP/IP devices.

とか。
しかし、横幅せまいなこのサイトは。


関連ワード:  AndroidAndroidStudioおすすめアプリツール便利な設定開発