Wi-Fi で ADB を使う方法: ケーブルなしで Android に接続する
adb tcpip 5555 と adb connect で Android にワイヤレス接続する方法を解説します。スマホの IP アドレスの調べ方、ネットワーク上の安全対策、ADBKit エージェントでブラウザから使う方法も紹介します。
Wi-Fi で ADB を使うには、一度 USB でスマホをつないで adb tcpip 5555 を実行し、ケーブルを抜いてから adb connect <スマホの IP>:5555 を実行します。パソコンとスマホは同じネットワークにつながっている必要があります。Android 11 以降には、ペア設定コードを使うワイヤレス デバッグ(Wireless debugging)も標準で用意されており、こちらはケーブルがまったく要りません。
始める前に
- スマホで USB デバッグを有効にしておく必要があります。まだの場合は USB デバッグを有効にする方法 をご覧ください。
- パソコンとスマホは同じローカルネットワークにつながっている必要があります。ゲストネットワークや一部の公衆 Wi-Fi では、端末同士の通信がブロックされます。
- コマンドラインで使う場合は、パソコンに Android Platform-Tools(
adb)が必要です。
方法 1: 従来の方法(adb tcpip)
USB デバッグが使える Android なら、どのバージョンでも使えます。
- USB ケーブルでスマホをつなぎ、許可されていることを確認します。
adb devices- スマホの ADB デーモンを、ポート 5555 の TCP/IP モードに切り替えます。
adb tcpip 5555restarting in TCP mode port: 5555 と表示されます。
- スマホの IP アドレスを調べます(次の項目を参照)。
- ケーブルを抜いて、ネットワーク経由で接続します。
adb connect 192.168.1.42:5555アドレスはお使いのスマホのものに置き換えてください。成功すると connected to 192.168.1.42:5555 と表示されます。
- 確認します。
adb devicesデバイスが 192.168.1.42:5555 として表示されます。ケーブルでつないでいるときと同じように、いつものコマンドがすべて使えます。
切断するには adb disconnect 192.168.1.42:5555 を実行します。TCP モードは永続的ではなく、スマホを再起動すると元に戻ります。
スマホの IP アドレスを調べる
- 標準的な Android では、設定 > デバイス情報 > 端末の状態(または ステータス)を開き、IP アドレス を探します。設定 > ネットワークとインターネット > インターネット から、接続中の Wi-Fi ネットワークの詳細を開いても確認できます。
- スマホを USB でつないでいる間なら、パソコンから次を実行しても分かります。
adb shell ip routewlan0 の行の src のあとにあるアドレスが、スマホの IP です。
メニューの名前はメーカーによって異なりますが、IP アドレスは必ず Wi-Fi ネットワークの詳細か、スマホのステータス画面のどこかに表示されています。
方法 2: ワイヤレス デバッグ(Android 11 以降)
Android 11 で、ケーブルが不要なペア設定方式のモードが追加されました。
- 設定 > システム > 開発者向けオプション を開き、ワイヤレス デバッグ をオンにします(スマホが Wi-Fi に接続されている必要があります)。
- ワイヤレス デバッグ をタップし、ペア設定コードによるデバイスのペア設定 をタップします。IP アドレス、ポート番号、6 桁のコードが表示されます。
- パソコンで、このペア設定用のポートを使ってペア設定します。
adb pair 192.168.1.42:37123求められたら 6 桁のコードを入力します。
- ワイヤレス デバッグのメイン画面に戻り、そこに表示されている IP アドレスとポート(ペア設定用とは別のポート)を確認して接続します。
adb connect 192.168.1.42:41567ポート番号は変わるので、設定をオン・オフするたびに確認が必要になる場合があります。
セキュリティ: オンのままにする前に読んでください
警告: ADB over TCP のポートが開いていると、同じネットワーク上の誰でもそこに到達でき、到達した攻撃者がスマホとの通信を試みることができます。自宅やオフィスなど信頼できるネットワークでだけ使い、公衆 Wi-Fi では絶対に使わないでください。
パソコンが初めて接続するときには、Android が RSA 鍵による許可を求めます。これは安全策ですが、これだけに頼るべきではありません。作業が終わったら次を実行します。
adb usbこれでデバイスが USB モードに戻ります。スマホを再起動しても従来の TCP モードはリセットされます。また、開発者向けオプションでワイヤレス デバッグをオフにすることもできます。
ADBKit で Wi-Fi 経由の ADB を使う
Web ブラウザは生の TCP 接続を開けないため、単独ではポート 5555 に到達できません。ADBKit はこれを ADBKit エージェント で解決します。パソコン上で動いて通信を中継する小さなプログラムです。詳しい設定、オプション、トラブルシューティングは ADBKit エージェントのリファレンス をご覧ください。
- 1 行のインストーラーでエージェントを起動します(macOS と Linux では
curl -fsSL https://adbkit.com/install.sh | sh、Windows の PowerShell ではirm https://adbkit.com/install.ps1 | iex)。Node.js がすでに入っている場合は、代わりに adbkit-bridge.mjs をダウンロードしてnode adbkit-bridge.mjsを実行してもかまいません。
- ADBKit ワークスペース でスマホを USB 接続し、Wi-Fi ダイアログを開きます。
- Turn on Wi-Fi debugging を押します。ADBKit が
adb tcpip 5555を代わりに実行し、スマホのアドレスを表示します。 - IP アドレス(ポート 5555)を入力して接続するか、Scan network でデバイスを探します。
エージェントは 127.0.0.1 でのみ待ち受け、ADBKit のページにだけ応答し、プライベートネットワークのアドレスにだけ接続します。そのため、誰でも使える汎用のオープンプロキシにはなりません。
補足: ADBKit は両方の方法に対応しています。従来の
adb tcpip 5555方式は、どちらのバージョンのエージェントでも使えます。Android 11 以降のワイヤレス デバッグのペア設定コード方式(adb pair)は、インストーラーが導入する Go 版エージェントで対応しています。Node 版ではペア設定できません。手順は ブラウザからワイヤレス デバッグで Android に接続する を、方式の選び方は adb tcpip とワイヤレス デバッグの違い をご覧ください。
トラブルシューティング
failed to connectやタイムアウト。 両方の端末が同じネットワークにいるか、IP アドレスが最新かを確認してください。ルーターが IP を変えることがあります。クライアント同士を分離しているネットワークもあります。- 接続後に
unauthorizedになる。 スマホのロックを解除し、デバッグの確認ダイアログを許可してください。それでも失敗する場合は、開発者向けオプションで承認を取り消してからやり直します。 - 接続が切れる。 Wi-Fi のスリープ設定や弱い電波でセッションが途切れます。
adb connectで接続し直してください。 - デバイスが busy。 1 つの接続を同時に使えるのは 1 つのプログラムだけです。ADB の device busy / unauthorized エラーの直し方 をご覧ください。
USB はブラウザから直接使えるのに、TCP にはなぜ補助プログラムが必要なのかを知りたい場合は、WebADB とは をお読みください。