Android Studio BumblebeeのADB on Wi-Fiを試してみた

この記事をシェア

先日Android StudioをBumblebeeに更新したので、気になっていた新機能のADB on WiFiを試してみました。初回の接続はうまくいかなかったものの、最終的には使えるようになりました。ノートPCとスマホだけ持って移動した先でデバッグやデモをしたい時などに便利そうです。

ADB on Wi-Fiとは

Androidのデバッグを実機で行う際に使われるADB (Android Debug Bridge) を、USB接続ではなくWiFi接続で使う仕組みです。これを使うと、Android Studioが動作しているPCと、アプリを動かすスマホなどを、USBケーブルで接続しなくてよくなります。

WiFi上でADBを使う仕組み自体は今までもありましたが、接続を確立するためにPCとデバイスを一度USBで接続する必要がありました。そのためUSBケーブルが手元にないときや、様々な制約でUSB接続が使えないときには結局利用できず、イマイチ感が否めませんでした。

ところがAndroid Studio Bumblebeeでは、USB接続不要でADBの接続ができるようになりました。

ADB over Wi-Fi: Bumblebee includes a simplified flow to connect to your Android 11 and higher devices over Wi-Fi for deployment and debugging using ADB. After you enable debugging over Wi-Fi on your device, select the Pair using Wi-Fi action in the Physical tab of the new Device Manager to open the pairing wizard. Then follow the steps provided to pair to a device connected over the same network. Learn more.

Android Developers Blogより

QRコードを使った接続確立の仕組みが用意されているようですので、実際に使ってみたいと思います。

前提条件

Developerサイトによると、ADB on Wi-Fiを使うための条件は次の4つです。

  • Android Studioが動作しているPCと、デバッグに使うデバイスは同じLANに接続していること
  • デバイスのOSはAndroid 11以上であること
  • Android Studio Bumblebeeを使用していること
  • SDK Platform Toolsが最新バージョンになっていること

最初の3つは分かりやすいですが、SDK Platform Toolsのバージョンはあまり意識したことがないかもしれません。本記事執筆の2022年1月時点の最新バージョンは、32.0.0です。SDK Platform Toolsのバージョンは、以下の手順で確認できます。

Tools > SDK Managerを開く。

SDK Toolsタブを開き、Android SDK Platform-Toolsのバージョンが32.0.0になっていて、StatusがInstalledになっていることを確認します。

もしバージョンが古かったり、Not Installedと表示されていたりした場合は、チェックを入れてApplyをクリックすればインストールできるはずです。

ちなみに今回試した私の環境は以下の通りです。

  • PC: Windows 11 / WiFi接続
  • デバイス: Pixel 5a / Android 12 / WiFi接続
  • Android Studio Bumblebee 2021.1.1
  • SDK Platform-Tools 32.0.0

接続(ペアリング)

では実際に接続してみます。物理的なUSBケーブルで接続されていないため、Android Studioとデバイスとをペアリングする必要があります。ペアリングはQRコードを使う方法と、6桁の数字のペア設定コードする方法があります。今回はQRコードを使います。

なお、私が初めて試したときは接続がうまくいきませんでした。解決のために試したことはこの記事の最後で紹介します。以下ではひとまず正常に接続できる場合の手順を紹介します。

Android StudioでQRコードを表示する

初めにAndroid Studio側でペアリング用のQRコードを表示します。Android StudioのRun Configurationsドロップダウンメニュー(どのデバイスで実行するかを選択するドロップダウンメニュー)を開き、Pair Devices Using Wi-Fiをクリックします。

すると、QRコードが表示されます。次の手順で、このQRコードをスマホで読み取ります。

ちなみにペア設定コードを入力する場合は、この画面でPair using pairing codeタブを選択すると、6桁のコードでのペアリングができます。

デバイスでQRコードを読み取る

次にデバイス(スマホ)で、先ほどAndroid Studioに表示したQRコードを読み取ります。

まずは、ワイヤレスデバッグをONにします。設定アプリのシステム > 開発者向けオプションで、「ワイヤレスデバッグ」をONにします。ONにするときに確認メッセージが表示されるので、OKをクリックします。

次にワイヤレスデバッグの項目を選択して一階層下に移動すると、ペアリング方法を選択できますので、「QRコードによるデバイスのペア設定」をタップします。

するとQRコードのスキャン画面が開くので、先ほどAndroid Studioに表示したQRコードを読み取ります。

スキャンすると、「デバイスをペア設定しています」と表示されるので、しばらく(十数秒程度)待ちます。

ペアリングに成功すると、デバイスには「ワイヤレスデバッグが接続されました」と通知が表示され、Android Studio側も「connected」と表示されます。

これで接続は完了です。あとは通常通りデバイスを選択してRunすればアプリを実行できます。

接続を解除する

接続を解除するには、デバイスの設定の「開発者向けオプション」で「ワイヤレスデバッグ」をOFFにすればOKです。OFFにすると、Android Studio側のドロップダウンリストからデバイスが消えます。ただしペアリング設定は残ったままなので、デバイス側で再度「ワイヤレスデバッグ」をONにすれば接続できます。再度QRコードをスキャンする必要はありません。

ペアリングを解消するには、デバイスの「ワイヤレスデバッグ」の画面で「ペア設定済みのデバイス」で接続したPCを選択して、「削除」をタップします。

または、デバイス側の「ワイヤレスデバッグ」をOFFにするなどしていったん接続を切った状態で、Android StudioのDevice Managerを開き、Physicalタブの目的のデバイスのごみ箱ボタンをクリックします。

ペアリングを解除した場合、再度接続するには、改めてQRコードのスキャンが必要になります。

トラブルシューティング

私の環境では最初に試したときにはうまく接続できませんでした。結局、はっきりとした原因は分からないままですが、いくつか試したことを記録に残しておきます。

「デバイスをペア設定しています」の画面から進まない

QRコードをスキャンしたあとに表示される「デバイスをペア設定してます」の画面からいつまでたっても進まず、数分後にエラーが出て失敗してしまう現象が起きました。この時は、Windowsのネットワークプロファイルが「パブリック」になっていたので、「プライベート」に変更してみました。パブリックだとデバイスをネットワーク上で検出できないので、影響があるかもしれません。

「Connecting to device」の画面から進まない

ネットワークプロファイルをプライベートに変更して再度試すと、今度はAndroid Studio側の画面に「Connecting to device. This takes up to 2 minutes.」と表示されたまま、2分経過しても接続できず、エラーが出てしまう現象が起きました。この時は、Android Studioをいったん終了して再起動し、さらにデバイス側のワイヤレスデバッグをいったんOFFにして再度ONにしてから、再びQRコードのスキャンから試すことで成功しました。Android Studio再起動時にWindowsのファイアウォールの設定変更画面が表示されたので、ネットワークプロファイルの設定変更を反映するにはAndroid Studioの再起動が必要だったのかもしれません。

ちなみに、一度ペアリングに成功した後は、ネットワークプロファイルをパブリックに戻してもちゃんと接続できました。

使ってみた感想

最初のペアリングには苦労しましたが、一度ペアリングできてしまうとあとはケーブル不要でデバッグできてとても快適になりました。ただちょっとイマイチな点もあります。

私は普段、デバッグ中に画面がロックされてしまうのを防ぐため、開発者向けオプションの「充電中に画面をスリープにしない」をONにして使っています。ところがADB on WiFiでデバッグ中はUSBケーブルを接続していないため、このオプションが有効になりません。そのため、デバッグしようとするたびにデバイスの背面の指紋センサーをタッチしなければならず、地味に面倒です。「充電中」ではなく「ADB接続中」はスリープしないオプションがあるといいのになあと思います。

個人的には、デスクで腰を据えてデバッグするときには従来通りUSBで接続したほうがいいかなあと感じました。上記の画面スリープの件もありますし、バッテリーの心配もないので。ただ、ちょっといつもと違う場所でデバッグするときなど、ノートPCとデバイスだけ持っていけばよいので楽だと思います。ケーブル忘れた!という時も焦らなくてすみますので、状況によって使い分けられる選択肢ができたのは良いことだと思いました。

この記事をシェア