Androidアプリ開発をしていると実機で動作確認をすることが頻繁にあります。開発中は常にですね。でもスマホをUSBケーブルでパソコンに繋げるというのは色々と面倒です。そこでwifi経由でテストできるようにします。でもwifiで接続するとadb shellとかが若干遅いです。
適当にバッチファイルを書いたので置いときます。適当に書き換えて使ってください。
スマホのwifiデバッグをオンにしたいときにadb_tcp.bat
スマホに接続したいときにadb_connect.bat
スマホのUSBデバッグをオフにしたいときにadb_debug_off.bat
スマホを切断したいときにadb_disconnect.bat
USBケーブルでスマホをパソコンに接続します。いきなりケーブルを使ってますが、wifiでデバッグするためには最初の一回目だけ有線で接続する必要があります。
当然のように開発者向けオプションからUSBデバッグはオンにしておきます。
コマンドプロンプトとか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ケーブルはちぎって捨てます。
コマンド"adb connect 192.168.1.21
"で接続できます。コマンドのipは先ほど調べたipに置き換えてください。connected to 192.168.1.21:5555とか表示されれば成功です。
コマンド"adb devices
"で現在接続されているデバイスを確認できます。"192.168.1.21:5555 device"とか表示されます。
実際にwifiで実機テストをしてみましょう。Android Studioで適当なアプリをRunします。Select Deployment Targetウィンドウが開いてConected Devicesに自分のスマホが表示されています。それをダブルクリックすれば有線と同じく実機テストができます。
普段使っている端末ならUSBデバッグはオフにしておいた方がいいですよね。せっかくwifiでadbコマンドが使えるので"adb shell settings put global adb_enabled 0
"と入力します。これでスマホのUSBデバッグはオフになります。
そういうときは"adb disconnect 192.168.1.21
"です。ipを指定しない場合はすべてのデバイスが切断されます。
このままだとネットワーク内の誰かから勝手に接続されるかもしれないって人は下へ。
"adb usb
"です。複数台接続しているときには"-s"オプションです。
参考サイト