くうと徒然なるままに

モバイルアプリを作りながらバックエンドも作っています。

Android での Wireless Debugging のやり方について

導入

Android 11 から Wireless Debugging が導入されました。

Android 11 以前のAndroid 端末でもできてはいたようですが Android 11 からは専用のUIが Developer option に実装され、かつ adb からも使いやすいコマンドが使えるようになったという認識をしてます。

手順

1. Android 11 にアップデート

Android 11 にアップデートします。 筆者はAndroid 11 Beta 2 を利用して検証しました。

2. Android 端末のDeveloper Options から Wireless Debugging を有効にする

先ほどアップデートしたAndroid 端末の設定アプリ>System>Developer Options の Debugging Section にある Wireless deugging を有効にします。

f:id:kuxumarin:20200722023738p:plain

3. PC から adb を利用してAndroid 端末に接続する

terminal で adb pair {IP Addr}:{Port} を打ち込み接続します。

IP Addr、 Port については Android 端末の 設定アプリ>System>Developer Options の Wireless Debugging の設定項目を開いて、Pair device with pairing code を見れば確認することができます。

具体的には以下の画像のようになっています。

f:id:kuxumarin:20200722024818p:plain

実際に使ってみての注意点

接続が勝手に切れてしまう

ワイヤレスでつなげておいて少し時間が経つと接続が切れてしまい再度接続をする必要が出てくる時があります。
正式リリースまでにどこまで改善されるのかは謎ですが、接続が切れるまでの時間が伸びてくれると良さそう

机の上からコードが減るのは嬉しい

ワイヤレスデバッグということでPCとAndroid端末をコードで接続する必要がなくなります。(実際にはしばらくすると充電が切れてしまうのでお昼ご飯のタイミングとかで充電する必要があります。

その結果、机の上が少しすっきりします。

実際のところどこまで使い物になるのか

実際にどこまで使い物になるのか調べてみました。

実験した環境

  • Pixel 3a Android 11 Beta 2
  • MacBook Pro 2020
  • 同一ネットワーク

テスト項目

  • [x] アプリのデプロイ
  • [x] デバッグ実行
  • [x] ブレイクポイント
  • [x] Logcat
  • [x] Logcat のスクリーンショット撮るやつ
  • [x] Logcat の 動画を撮るやつ
  • [x] ブレイクポイントで停止した時に値を見るやつ

デプロイ速度

日本でも有数の膨大なソースコードのAndroid アプリをUSB経由、ワイヤレスでそれぞれデプロイに必要な時間を調べてみました。
先に結果を書くとUSB接続の方が大体2倍ぐらい早いです。

ただ、5秒程度だとビルドの時間含めるとほぼほぼ誤差の範囲内かなと思います。

検証手順

  1. 既存のアプリのアンインストール
  2. adb install コマンドの実行と実行時間の計測

ワイヤレスデバッグの場合

9.02
8.83
8.77
10.34

USB接続デバッグの場合(旧来の方法)

5.51
4.08
4.00
4.01

adb からみた ワイヤレス接続とUSB接続の見分け方

adb devices を実行した結果を見比べてみます。

ワイヤレスの場合には以下のような出力がされます。

List of devices attached
adb-93MAY0CXY5-aWB2Ql._adb-tls-connect._tcp.    device

また、USB接続の場合は以下のように出力されます

List of devices attached
93MAY0CXY5  device