技術

緊急指令!ワイヤレスデバッグ、接続せよ!~超速接続への道~

WRITER

タッキー

30超えてから異業種からIT業界に来たオッサン!楽しくなきゃ意味がないって思考のもと、eGAOでのお馬鹿さん担当してます。得意技は社長をいじること。弱点は褒められること。多趣味ですが最近は電子工作に夢中。輸血時は苦いコーヒーを入れてください。

Hello, world! タッキーです。
山々が見える温泉でまったりしたい気分です。
前回の記事では概要だけであり、すぐに使える技術ではないなと思い、急遽”すぐ使える”ネタの投稿をしようと思いました。

Android実機へのインストール

前回の記事でも自作IoTのリモコンとして、Flutterを使ったアプリについてご紹介いたしました。

あわせて読みたい

IoTが好き。~ 3代目に突入した自作IoT ~

こんにちはタッキーです。勉強をかねた電子工作が、趣味と言っていいレベルにまで成長しました。 RGB LEDを使用し、スマホに来た通知を視覚的にお知らせするもの。ほぼテレワークのため家族に通話中かどうかを知らせる信号機。他にも小さなものを含めるとありますが、今回ご紹介するのはスマホで操作可能なIoTリモコン IoT IoTとは、Internet of Thingsの略で、モノをインターネットでつなぐ […]


記事中でも触れた通り、Flutterはお気に入りとなり、別観点の勉強で現在4つのアプリを作成しました。
(勉強のためであり、ストアへのリリース等はしていません)

開発はVisual Studio Codeのみでおこなっております。
私のスマホはAndroidのため、エミュレータを起動するのに必要なのでAndroid Studioはインストールしています。

実機インストールとなった場合に、みなさんはどうされてますか?
USBケーブルの接続でしょうか?
Android 11から可能になったワイヤレスデバッグでしょうか?

私は個人での開発ということもあり、ワイヤレスデバッグを使用しています。

この記事がささる人

  • Visual Studio Codeでのみ開発を行っている
  • Android端末でワイヤレスデバッグをおこないたい
  • ワイヤレスデバッグがつながらないが、Android Studioをいちいち開きたくない
  • ペア設定済みなのに、Visual Studio Code上のデバイスになかなか実機が表示されない

Android端末 実機とのペアリング

既にペアリングが実施済みであれば不要です。
調べたことがないので詳細は不明ですが、ペア設定はなんらかの要因で解除されます。

前提条件としてadbコマンドが使用可能であるとします。
adbはAndroid Studioのインストール時に、基本的に入っていると思います。
また、PCとAndroid実機が同一ネットワーク内である必要があります。

ここからはPixel7a(Android15)での説明です。
他機種、他バージョンでも昨今のであれば大きな違いはないかと思います。

まずは「設定」→「システム」→「開発者向けオプション」へと進みます。
「開発者向けオプション」はデフォルトで表示されていません。
「設定」→「システム」→「デバイス情報」 → 「ビルド番号」を複数回タップすると出ます。

次に「開発者向けオプション」内の「ワイヤレスデバッグ」をタップします。

「ペア設定コードによるデバイスのペア設定」に進み、adbコマンドを使いPCとのペア設定を行います。
以下の画像を参考に、コマンドを入力してください。

adb pair IPアドレス:ポート番号 6桁のペア設定コード
※例)adb pair 192.168.0.0:12345 678910
PowerShell

「ペア設定済みのデバイス」に自身のPCが表示されれば成功です。

大本命!即時ワイヤレス接続!

こちらも以下の画像を参考にコマンドを入力してください。
connectedと表示されれば成功です!
スマホ側にも通知が来ます。

adb connect IPアドレス:ポート番号
※例) adb connect 192.168.0.0:12345
PowerShell

私は入力が面倒なため、Window用のbatファイルを作成してみました。
また、私の端末はIPを固定にしているため、IP_ADDRESSに直接入れてあります。
IPアドレスはご自身のスマホに変更し、ファイル名は「任意の名前.bat」にしてください。

@echo off
setlocal
:input_port
echo ポート番号を入力してください (5桁の数字):
set /p port=
if "%port%"=="" (
    echo エラー: ポート番号が未入力です。
    goto input_port
)
set IP_ADDRESS=192.168.0.0
echo adb connect %IP_ADDRESS%:%port%
adb connect %IP_ADDRESS%:%port%
echo.
pause
endlocal
BAT (Batchfile)

MacやLinux用にシェル版も作成してみましたが、私の開発環境はWindowsのため未検証です。
たぶん、こんなかんじ?って程度で急遽作ってみました。

#!/bin/bash
# IPアドレスを設定
IP_ADDRESS="192.168.0.0"
# ポート番号の入力を求める
while true; do
    read -p "ポート番号を入力してください (5桁の数字): " port
    # 入力チェック
    if [ -z "$port" ]; then
        echo "エラー: ポート番号が未入力です。"
    else
        break
    fi
done
# adb connect コマンドを実行
echo "adb connect ${IP_ADDRESS}:${port}"
adb connect ${IP_ADDRESS}:${port}
read -n 1 -s -r -p "Press any key to continue..."
echo ""
Bash

あとがき

ワイヤレスデバッグは神です!
USBケーブルを接続する手間から解消され、便利過ぎます!

Pixel7aではクイック設定にワイヤレスデバッグを表示させることができるため、ON/OFFだけではなく長押しによりワイヤレスデバッグ設定へのアクセスも容易です。

大規模なアプリの場合は安定しているUSBケーブルの方が早いかもしれません。
私が制作したアプリの中で1番サイズの大きいもので34MBですが、その程度であればUSB type-C接続と比べて大差無い印象です。
むしろその程度の規模であれば、ケーブル接続している時間を考慮するとワイヤレスデバッグの方が幸せかもですね!

よき開発ライフを!