adbはデバッグには欠かせないツールです。しかし、USB機能の利用中などケーブル接続できないケースではLogcatなどログ確認が困難です。そんなときに便利なWiFi環境を利用したネットワーク越しのadb接続方法について解説します。
その他の便利な使い方は、
・adbを使いこなすでコマンドの紹介
・adbを使って端末にキーイベントを送るでキーイベントの通知
を取り扱っています。合わせてどうぞ。
ネットワーク越しのデバッグをするまえに
設定に入る前に大事な注意事項があります。Android端末ごとに挙動が異なりますが、場合によってnetwork越しのadbの実行にroot権限が必要です。
(Android 3.1のMOTOROLA XOOMではroot権限は不要でした)
CyanogenModなどカスタムROM、beagleboardなどポーティングするケースでは自分がrootなので問題になりませんが、市販されているAndroid端末でrootを取得するとメーカー保証の範囲外になります。くれぐれも気をつけてください。
設定手順
ネットワーク越しにadb接続する手順を紹介します。USBポートがない機種、またAndroid2.3.4/3.1から提供が始まったホスト機能、アクセサリ機能をつかった開発などで大変便利です。
- Android端末とPCをUSBケーブルで接続(adb devicesで認識されていることを確認)
- コマンドプロンプトから [adb tcpip listen_port] を設定。たとえば adb tcpip 5000 など。
- コマンドプロンプトから [adb connect android端末のIPアドレス:lesten_port] たとえば adb connect 192.168.0.2:5000 など。
- 接続されていれば、 [adb logcat] ログ出力などが可能です。
よくあるトラブル
- セキュリティ:
ネットワーク越しのadb接続はipアドレスとlisten_portさえ知っていれば誰でも接続が可能になります。セキュリティ上良くないので利用完了後、
(Android端末とPCがadb connectしている状態で)[adb usb]コマンドを入力して、ネットワーク越しのadb接続を解除してください。
または、「USBデバッグ」を有効化することでusbでのadb接続に戻ります - Android端末側の設定がうまくいかない:
設定を手助けするマーケットアプリがあります。 “adb”などをキーワードに検索してみてください。
※便利なアプリですが、悪意が無いことを証明できないので自己責任のもと、十分注意して利用してください。 - Android端末側のIPアドレスがわからない:
「設定」>「無線とネットワーク」>「WiFi設定」>接続しているAP名を選択>接続状況の表示 でIPアドレスを確認可能です - ○○という機種で動かない:
GalaxyTab 10.1およびNexus S(unlock)でネットワーク越しのadb接続を確認しました。
(お手数ですが、その他端末での動作実績などあればご連絡ください。ほとんどの機種でroot権限が必要だと想像しています)
以上、adbの紹介でした。