私の開発機がWindowsなので、Androidをadb shellで操作するのは結構なストレスだったりします。じゃあMac使えとかVMでUbuntu入れればいいじゃないかとかいう話もありますが、そこをあえてWindowsで頑張るというストイックな道を選んで日々試行錯誤しています。半年程前にadb対応puttyというのがあり、これを使うことで今までより快適な作業を行っていたのですが、ひとつ問題がありました。業務上複数のデバイスに同時にネットワーク経由でadb接続したいのですが、今使っているadb対応のputtyではできなかったのです。で、もうすぐ2014年にもなるというのにようやくそれが実現できるputtyに出会ったのでついついブログに投稿してしまいました。
と、前置きが長くなりましたが結論からいうと「PuTTYTray」で解決です。
以下に簡単な接続方法を書いておきます(puttyの使い方や、adb環境の導入、ネットワーク経由でのadb接続までの設定は省略します)。
1. 「事前にadb connectする」
まずは「adb devices」で接続ができているようにもっていく必要がありますので、ここはcmdプロンプトで行います。
まずは1台目のAndroid端末に接続
C:\Users\osa>adb connect 192.168.1.18 connected to 192.168.1.18:5555
続いて2台目のAndroid端末に接続
C:\Users\osa>adb connect 192.168.1.16 connected to 192.168.1.16:5555
現在の接続状態はこうなります。
C:\Users\osa>adb devices List of devices attached 192.168.1.18:5555 device 192.168.1.16:5555 device
ちなみにこんな感じでデバイス指定してadb shellすると任意のデバイスに接続します。
C:\Users\osa>adb -s 192.168.1.16:5555 shell shell@android:/ $
2. 「PuTTYTrayでデバイス指定してadb shellする」
puTTYTray(putty.exe)を起動します。
「Connection type」を「Adb」
「Host Name(or IP address)」を「:<ipaddr:port>」とします(先頭の「:」を忘れずに)。
<ipaddr:port>はadb devicesで表示されるものを指定します。
以下は<ipaddr:port>に<192.168.1.18:5555>を指定しています
「Open」でつながりました。
同じく<ipaddr:port>に<192.168.1.16:5555>を指定して
「Open」でつながりました。
とまあこれだけなのですがputtyで接続するとコピペが楽になったり、tab補完が効いたり、(busyboxの)viがまともに使えたりとメリットが沢山ありますのでWindowsでadbで辛い思いをしている人はUSB接続でもかなり快適になるので是非お試し下さい。