Xubuntu環境でFlutterでAndroid実機でテストできるようにする方法

この記事では、Xubutnu(Ubuntu)環境でFlutterアプリをAndroid実機でテストできる環境を整えていく。

手順は以下の通り。

1. Android実機の設定

開発者オプションを有効する方法はメーカーや機種によって異なるので、ググったほうがよい。

  1. 開発者オプションを有効化

    • 設定 → デバイス情報 → ビルド番号を7回タップ
  2. USBデバッグを有効化

    - 設定 → 開発者オプション → USBデバッグ をON

2. udevルールの設定

udevルールを追加していく。 udevとは、外部デバイス等をLinuxがどのように認識するかを示したもの。

# Google のudevルールをインストール
sudo apt install android-sdk-platform-tools-common

# または手動で追加
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"' | sudo tee /etc/udev/rules.d/51-android.rules

sudo udevadm control --reload-rules
sudo udevadm trigger

3. ユーザーをグループに追加

sudo usermod -aG plugdev $USER
sudo usermod -aG dialout $USER

その後、ログアウトしてログインし直す。(usermodの設定を反映させるため)

4. 接続確認

PCとスマホをUSBケーブルで接続する(ファイル転送をONにする)

そして、以下のコマンドでデバイスを確認。

$ flutter devices
Found 3 connected devices:
  UMIDIGI Note 100 (mobile) • NT1082565Y4121402075 • android-arm64  • Android 14
  (API 34)
  Linux (desktop)           • linux                • linux-x64      • Ubuntu
  25.10 6.17.0-14-generic
  Chrome (web)              • chrome               • web-javascript • Google
  Chrome 144.0.7559.132
Run "flutter emulators" to list and start any available device emulators.
If you expected another device to be detected, please run "flutter doctor" to
diagnose potential issues. You may also try increasing the time to wait for
connected devices with the "--device-timeout" flag. Visit
https://flutter.dev/setup/ for troubleshooting tips.

ポイントは以下のところ。

UMIDIGI Note 100 (mobile) • NT1082565Y4121402075 • android-arm64  • Android 14

特にNT1082565Y4121402075をメモしておくこと。

5. Flutterで確認

以下のコマンドを実行。

flutter run -d NT1082565Y4121402075

これで実機でテストができる! 初回ビルドは、色々インストールしたりビルドしたりで時間がかかる。

6.テスト実機からlinuxのサーバーにアクセスしたい

usbメモリで繋がっている場合は、以下の方法でOK

adb reverse tcp:8080 tcp:8080
flutter run

毎回面倒な場合はシェルスクリプトを作ればOKだろう。