はじめに
Windows11にFlutterの開発環境を構築する手順の備忘録です。
- クリーンインストール直後のWindows 11で確認した手順です
- 本記事の手順に沿うとWindows用とWeb用のFlutterアプリが開発できるようになります
- 本記事末のオプションの手順まで実行すると、Android版アプリも開発できるようになります
構築手順
Visual Studio 2022 のインストール
Visual Studio 2022 Community 版をインストールします。インストーラーでは「C++によるデスクトップ開発」を選択してインストールします。
gitのインストール
git for windowsからインストーラーをダウンロードしてインストールします。バージョンは 2.46 以上であることを確認してください(2.46以上でないと、後述の safe.directory の設定が簡単にできません)。
インストールオプションは特にデフォルトから変更しません。
Chocolatey のインストール
Chocolateyがインストールされていない場合は、公式サイトの「Install Chocoletey for Individual Use」に従って、Chocolateyをインストールします。管理者Terminalでインストールする必要があります。
FVMのインストール
Flutter SDKのバージョン管理マネージャ、FVMをインストールします。管理者Terminalを開いて、公式サイトどおり、以下を実行します。
choco install fvm
パッケージが見つからない、または壊れているという趣旨のエラーが出てインストールに失敗した場合は、以下のように --pre
オプションを付けて実行してください。
choco install --pre fvm
Flutter SDKをインストール
管理者Terminalで、fvmコマンドを使ってFlutter SDKをインストールします。
fvm install 3.24.5
gitの設定を調整
FVMがFlutter SDKをインストールするディレクトリをgitに信頼させる必要があります。
git for windows をインストールした際に付属でインストールされたターミナル(Git Bash または Git CMD)を起動して、以下のコマンドを実行します。xxxxxx
の部分はご自身のユーザーディレクトリ名で読み替えてください。
git config set --global --append safe.directory 'C:\Users\xxxxxx\fvm\*'
設定したら一度ターミナルを終了させます。
動作確認
Flutter SDKが正しくインストールされたか確認します。Terminalを開いて以下を実行します。
fvm global 3.24.5
fvm flutter doctor
上記で表示される Flutter SDK のバージョンが期待どおりで、かつAndroid関係以外のエラーが出ていなければ、セットアップは問題なく完了です。
環境変数の設定
ここまでの設定では、flutterコマンドの実行はfvm flutter
のようにfvm
コマンドを経由する必要があります。
flutter
コマンドのみ入力して実行できるようにしたい場合は、Windows の環境設定で、%USERPROFILE%\fvm\default\bin
にパスを通します。
パスを通しておくと、flutter
コマンド単体で入力した場合でも、fvm global
や fvm use
の指定を反映したバージョンの flutter が起動します。
ビルド&実行まで確認
一般権限の Terminal を開いて適当な作業ディレクトリに移動し、以下のコマンドを入力します。
fvm flutter create --platforms=windows test_project
cd test_project
fvm flutter run -d windows
以上で Windows 用のFlutterのサンプルアプリがビルドされ、起動します。
ここまで確認できたら、開発環境構築はおわりです。
オプション
Visual Sutdio Code
Visual Studio Code 1.77 以上をインストールした後、VS Code を起動して Flutter extension for VS Code をインストールします。
Android 開発
以下の手順を行うと、Android版アプリも開発できるようになります。
- Android Studio 2023.3.1 (Jellyfish)以上をインストールする
- Flutter 公式サイトの Configure Android development の手順を行う
FAQ
コマンドを実行すると Error: Unable to find git in your PATH. エラーが出る
前述の「gitの設定を調整」が正しく行われていればエラーが発生しないはずです。
しかし、上記の設定をしても、fvm flutter
コマンドがエラーで動かない場合は、FVMのインストール先ディレクトリが標準と異なっているのかもしれません。
fvm api context
を実行すると表示される JSON の下の方に fvmDir という項目があるので、それでFVMのルートディレクトリを確認してください。そして、FVMのルートディレクトリの後に '*' を付けたものを safe.directory に指定して、以下のコマンドを実行してください。
git config set --global --append safe.directory '<FVMのルートディレクトリ>\*'```
Android版のビルドでcompileGroovyタスクがエラー
Android Studio 2024.2.2 (Ladybug) + Flutter 3.24.5 で、Android版をビルドすると、compileGroovyタスクでエラーになる場合があります。
* What went wrong:
Execution failed for task ':gradle:compileGroovy'.
> Failed to run Gradle Worker Daemon
> A problem occurred starting process 'Gradle Worker Daemon 6'
これはOSの地域設定(日付と時刻の書式)をUSにすると強引に直せますが、Gradleのバージョンを8.4に上げてやると解消します。
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-all.zip # ココ
Android版でplus系プラグインを使うとビルドエラー
Android Studio 2024.2.2 (Ladybug) + Flutter 3.24.5 で、Android版をビルドすると、Flutterのplus系プラグイン(connectivity_plusなど)の利用時に、以下のようなエラーが出ます。
* What went wrong:
Execution failed for task ':connectivity_plus:compileDebugJavaWithJavac'.
> Could not resolve all files for configuration ':connectivity_plus:androidJdkImage'.
これは settings.gradle で Android Plugin を 8.3.1 に上げると解消します。
...
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "8.3.1" apply false // ← ココ
id "org.jetbrains.kotlin.android" version "1.8.22" apply false
}
include ":app"
補足
上記では、Gradle バージョン 8.4 と Android Gradle Plugin バージョン 8.3.1 を選択していますが、これは 2024年1月時点のconnectivity_plusプラグイン6.1.2のビルド設定を参考にした値です。