方言を話すおしゃべり猫型ロボット『ミーア』をリリースしました(こちらをクリック)

【Flutter】アプリをAndroid実機で実行するセットアップ

flutter-android-physical-device-setup
この記事は約8分で読めます。

はじめに

様々な方言を話すおしゃべり猫型ロボット「ミーア」を開発中

ミーア
おしゃべり猫型ロボット「ミーア」は、100以上の種類の豊かな表情で、悲しみや喜びを共有します。様々な性格(皮肉・おせっかい・ロマンチスト・天然)や方言(大阪弁・博多弁・鹿児島弁・広島弁)も話してくれます。ミーアとの暮らしで、毎日の生活をもっ...

今回は、アプリをAndroid実機でビルドする手順を記載。

今回利用するAndroid実機は、Android One X4。

Android実機でディベロッパーオプションを有効化

まず、FlutterアプリをビルドするAndroid実機を開発用デバイスとして認識させる必要がある。

Android端末をUSBケーブルでPCに接続する。

デバイスの「設定」アプリを開き、「設定」メニューを下にスクロールして「システム」または「端末情報」を探し、タップする。

「端末情報」の中の「ビルド番号」を探し、「ビルド番号」を7回連続でタップする。すると、「デベロッパーモードが有効になりました」という通知が画面下部にポップアップ表示される。

再度「設定」メニューに戻ると、「システム」の中に「開発者向けオプション」が表示されるようになる。

「デベロッパーオプション」を開き、「USBデバッグ」を有効にする。ポップアップが表示された場合は、確認メッセージに従って「OK」や「許可」をタップ。

USBデバッグを有効にすれば、Android One X4を開発用デバイスとして使用できるようになる。flutter devicesコマンドを再実行して、デバイスが認識されるか確認する。

X4 SH (mobile) とandroid機種が無事表示されたことを確認した

ShellScript
 ~/dev/clocky/clocky_app   feat-voice-record ⍟22  flutter devices                                                     6094  07:42:04
Found 4 connected devices:
  X4 SH (mobile)                  • 3534930XXXXXXXX       • android-arm64  • Android 10 (API 29)
  macOS (desktop)                 • macos                 • darwin-arm64   • macOS 14.5 23F79 darwin-arm64 (Rosetta)
  Mac Designed for iPad (desktop) • mac-designed-for-ipad • darwin         • macOS 14.5 23F79 darwin-arm64 (Rosetta)
  Chrome (web)                    • chrome                • web-javascript • Google Chrome 127.0.6533.89

Android Studioのセットアップ

Android Studioのダウンロード

FlutterでAndroidアプリを開発するためには、Android Studioを使ってAndroid SDKをセットアップする必要がある。

下記よりAndroid Studioをダウンロード。Intel ChipかApple Chipかを選ぶ画面があるので、該当のchipを選択する。

https://developer.android.com/studio?utm_source=android-studio&hl=ja

Flutterプラグインの導入

Android Studio内でFlutterプロジェクトを作成・管理するため。

  • Android Studioを開き、メニューから「Settings」を選択する。
  • 左側のメニューから「Plugins」を選び、「Marketplace」タブで「Flutter」を検索。
  • 「Flutter」プラグインをインストールする。この際、「Dart」プラグインも同時にインストールされる。
  • インストールが完了したら、Android Studioを再起動してプラグインを有効化する。

Javaのインストール

JDKは、Flutterのビルドプロセスに必要。Javaの最新版をインストールするには、Oracleの公式サイトからJDKをダウンロードする。もしくはmacOSでhomebrewを使っている場合は、下記コマンドでインストール

ShellScript
$ brew install java

JDKの環境変数設定(macOSの場合)

  • ターミナルを開き、~/.bash_profile または ~/.zshrc ファイルを開く(使用しているシェルに応じて)。
  • 以下の行を追加して、JDKのパスを設定する
ShellScript
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk<version>.jdk/Contents/Home
  • ファイルを保存し、ターミナルを再起動するか、source ~/.bash_profile もしくは source ~/.zshrc を実行して変更を反映させる。

ターミナルで java —versionを実行し、インストールされたことを確認する。

ShellScript
 ~/dev/clocky/clocky_app   feat-voice-record ⍟22  java --version                                       SIGPIPE(13)   6091  10:23:09
openjdk 21.0.4 2024-07-16 LTS
OpenJDK Runtime Environment Temurin-21.0.4+7 (build 21.0.4+7-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.4+7 (build 21.0.4+7-LTS, mixed mode)

build.gradleの設定

こちらに関しては、以前に下記記事で記載した。

Flutter doctorコマンドでFlutter環境を確認

上記Android Studioでの設定が終わったら、flutter doctorコマンドをターミナルで実行する。

Android toolchainの部分で「!」が表示されている場合、Android SDKのパスが設定されていない可能性がある。その場合はflutter doctorの指示に従って問題を解決する。

ShellScript
 ~/dev/clocky/clocky_app   feat-voice-record  ⍟22  fvm flutter doctor                                                6092  07:30:26
[WARN] Found fvm_config.json with SDK version different than .fvmrc
fvm_config.json is deprecated and will be removed in future versions.
Please do not modify this file manually.

[WARN] Ignoring fvm_config.json
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.22.0, on macOS 14.5 23F79 darwin-arm64 (Rosetta), locale ja-JP)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.4)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.3)
[✓] VS Code (version 1.91.1)
[✓] Connected device (4 available)
[✓] Network resources

 No issues found!

実機でビルド

下記コマンドを実行して、実機でビルド。

  • fvm: fvmコマンドを使用して、プロジェクトで指定されたFlutterバージョンのFlutter SDKを利用する。任意
  • flutter run: Flutterアプリケーションを起動。
  • -dart-define-from-file=dart_defines/dev.env: dart_definesディレクトリ内のdev.envファイルから環境変数を読み込み、アプリに設定する。このオプションは、ビルド時にアプリケーションにカスタム定義を注入するために使用される。任意
  • -d デバイスID: -d オプション(デバイスオプション)でデバイスIDを指定して、指定の実機でビルド。
ShellScript
fvm flutter run --dart-define-from-file=dart_defines/dev.env -d 35349309XXXXXXXXX

無事ビルド完了した。

Android StudioのDevice Managerには、ビルドしている実機が表示されている。

Android実機でも引き続き開発時に検証を行なっていく。

タイトルとURLをコピーしました