はじめに
今回は、アプリをAndroid実機でビルドする手順を記載。
今回利用するAndroid実機は、Android One X4。
Android実機でディベロッパーオプションを有効化
まず、FlutterアプリをビルドするAndroid実機を開発用デバイスとして認識させる必要がある。
Android端末をUSBケーブルでPCに接続する。
デバイスの「設定」アプリを開き、「設定」メニューを下にスクロールして「システム」または「端末情報」を探し、タップする。
「端末情報」の中の「ビルド番号」を探し、「ビルド番号」を7回連続でタップする。すると、「デベロッパーモードが有効になりました」という通知が画面下部にポップアップ表示される。
再度「設定」メニューに戻ると、「システム」の中に「開発者向けオプション」が表示されるようになる。
「デベロッパーオプション」を開き、「USBデバッグ」を有効にする。ポップアップが表示された場合は、確認メッセージに従って「OK」や「許可」をタップ。
USBデバッグを有効にすれば、Android One X4を開発用デバイスとして使用できるようになる。flutter devices
コマンドを再実行して、デバイスが認識されるか確認する。
X4 SH (mobile) とandroid機種が無事表示されたことを確認した
~/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を使っている場合は、下記コマンドでインストール
$ brew install java
JDKの環境変数設定(macOSの場合)
- ターミナルを開き、
~/.bash_profile
または~/.zshrc
ファイルを開く(使用しているシェルに応じて)。 - 以下の行を追加して、JDKのパスを設定する
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk<version>.jdk/Contents/Home
- ファイルを保存し、ターミナルを再起動するか、
source ~/.bash_profile
もしくはsource ~/.zshrc
を実行して変更を反映させる。
ターミナルで java —versionを実行し、インストールされたことを確認する。
~/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
の指示に従って問題を解決する。
~/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を指定して、指定の実機でビルド。
fvm flutter run --dart-define-from-file=dart_defines/dev.env -d 35349309XXXXXXXXX
無事ビルド完了した。
Android StudioのDevice Managerには、ビルドしている実機が表示されている。
Android実機でも引き続き開発時に検証を行なっていく。