WifiでUSBデバッグ
Androidアプリ開発をしていると実機で動作確認をすることが頻繁にあります。開発中は常にですね。でもスマホをUSBケーブルでパソコンに繋げるというのは色々と面倒です。そこでwifi経由でテストできるようにします。でもwifiで接続するとadb shellとかが若干遅いです。
適当にバッチファイルを書いたので置いときます。適当に書き換えて使ってください。
スマホのwifiデバッグをオンにしたいときにadb_tcp.bat
スマホに接続したいときにadb_connect.bat
スマホのUSBデバッグをオフにしたいときにadb_debug_off.bat
スマホを切断したいときにadb_disconnect.bat
手順
- スマホを有線でパソコンに接続する
USBケーブルでスマホをパソコンに接続します。いきなりケーブルを使ってますが、wifiでデバッグするためには最初の一回目だけ有線で接続する必要があります。
当然のように開発者向けオプションからUSBデバッグはオンにしておきます。
- スマホのadbdをTCP/IP 接続 へ切り替える(adb_tcp.bat)
コマンドプロンプトとかPower Shellとかを起動して"adb tcpip 5555
"と入力します。adb.exeは%LOCALAPPDATA%\Android\Sdk\platform-toolsにあるので環境変数にパスを通しておくと便利です。
接続しているスマホが複数台ある場合は"error: more than one device/emulator"って言われます。その場合は"adb devices"で接続されているデバイスを調べましょう。"BH905JZX4A device"とか表示されますので"-s"オプションでそのデバイスを指定してあげます。"adb -s BH905JZX4A tcpip 5555"とかです。
ついでにスマホのipアドレスを調べておきましょう。当然のようにスマホをWifiに接続しておきます。
コマンドプロンプトから"adb shell ip address show wlan0
"を入力すると色々表示されますが、2行目ぐらいに、inet 192.168.1.21とかなんとか書いてあります。スマホの設定からipを調べてもいいですね。ついでにスマホのIP設定を変えましょう。接続しているwifiのIP設定を開いてDHCPから固定に変更しておきます。ipが変わったらめんどくさいです。
ここまでやればUSBケーブルはちぎって捨てます。
- wifi経由で接続する(adb_connect.bat)
コマンド"adb connect 192.168.1.21
"で接続できます。コマンドのipは先ほど調べたipに置き換えてください。connected to 192.168.1.21:5555とか表示されれば成功です。
- 実際にwifiで接続されているか確認してみる
コマンド"adb devices
"で現在接続されているデバイスを確認できます。"192.168.1.21:5555 device"とか表示されます。
実際にwifiで実機テストをしてみましょう。Android Studioで適当なアプリをRunします。Select Deployment Targetウィンドウが開いてConected Devicesに自分のスマホが表示されています。それをダブルクリックすれば有線と同じく実機テストができます。
wifi経由のデバッグを終わるには
- スマホのUSBデバッグをwifiからオフにしてあげる。(adb_debug_off.bat)
普段使っている端末ならUSBデバッグはオフにしておいた方がいいですよね。せっかくwifiでadbコマンドが使えるので"adb shell settings put global adb_enabled 0
"と入力します。これでスマホのUSBデバッグはオフになります。
- スマホのUSBデバッグはオンにしたまま切断したい場合(adb_disconnect.bat)
そういうときは"adb disconnect 192.168.1.21
"です。ipを指定しない場合はすべてのデバイスが切断されます。
このままだとネットワーク内の誰かから勝手に接続されるかもしれないって人は下へ。
- スマホのadbdをUSB 接続 へ切り替える
"adb usb
"です。複数台接続しているときには"-s"オプションです。
参考サイト
- Android Debug Bridge - https://developer.android.com/studio/command-line/adb.html?hl=ja
- ネットワーク経由でadb実行する - https://qiita.com/hamup/items/d0757af393a5462b686a
- 【デバッグ接続】USB接続が面倒ならWi-Fiモードに切り換えて使おう - http://android-smart.com/2014/11/adb_wifi.html