今回は、Windows11でfvmとChocolateryを使ってFlutterの環境を構築する方法とAndroid Studioを使ってFlutterアプリを起動する方法を紹介します。
まず管理者権限でChocolateryをインストール
ChocolateryはWindows向けのパッケージ管理ツールです。
Fluuterのバージョン管理ツールであるfvmをWindowsにインストールするためには、このChocolatery
が必要になってきます。
なので、Chocolateryの公式サイトからインストールしていきます。
このサイトでメールアドレスを入力してsubscribeボタンを押します。

すると、下記の画面に切り替わります。
このあとは、Power Shellを管理者権限で起動します。

管理者権限で起動したPower Shellコマンドプロンプトは下記です。

この画面で下記のコマンドを入力して、Chocolateryをインストールします。
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
参考URL:
つぎに管理者権限でfvmをインストール
Chocolateryをインストール出来たらつぎは、fvmをインストールします。
Power Shellもしくはコマンドプロンプトのどちらでも良いのですが、管理者権限で起動します。
そして、下記のコマンドを入力してfvmをインストールします。
choco install fvm
参考URL:
Flutterプロジェクトをfvm経由で作成する
Flutterプロジェクトを作成するには管理者権限でコマンドプロンプトもしくはPower Shellから行います。
今回は、コマンドプロンプトを使います。
管理者権限でデスクトップに移動するときは、下記のコマンドを使います。
cd /d C:\Users\ユーザー名\Desktop
デスクトップに移動したら下記のコマンドを使ってFlutterプロジェクトを作成します。
fvm flutter create <プロジェクト名>
トラブルシューティング
その1:windows11にてflutterプロジェクトを管理者権限で作成した。
プロジェクトをAndroid Studioのコンソールでfvm flutter runすると下記のエラーが出た。
fvm flutter run
fatal: detected dubious ownership in repository at 'C:/Users/xxx/fvm/versions/3.47.5'
'C:/Users/xxx/fvm/versions/3.47.5' is owned by:
BUILTIN/Administrators (S-1-5-32-544)
(原因)
原因は、管理者権限で作成・セットアップしたFVMのFlutter SDKを、通常ユーザー権限のGitが使おうとしていることです。
Git がC:/Users/xxx/fvm/versions/3.47.5の所有者をBUILTIN/Administratorsと認識しているため、安全対策としてリポジトリ操作を拒否しています。
まず試す方法
Android Studio のターミナルで、次を実行してください。
git config --global --add safe.directory "C:/Users/xxx/fvm/versions/3.47.5"
その後、
fvm flutter run
を再実行します。
その2:fvm flutter runすると下記のエラーが出た。
Package ndk not found.
Package 28.2.13676358 not found.
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\Users\xxx\Desktop\sampleflutter\android\build.gradle.kts' line: 19
* What went wrong:
A problem occurred configuring project ':app'.
> Process 'command 'C:\Users\xxx\AppData\Local\Android\sdk\cmdline-tools\latest\bin\sdkmanager.bat'' finished with non-zero exit value -1073740791 (NTSTATUS 0xC0000409)
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights from a Build Scan (powered by Develocity).
> Get more help at https://help.gradle.org.
(原因)
今回のエラーは、前回の Git の問題とは別で、Android SDK に NDK 28.2.13676358 が入っていないか、sdkmanager が正常に起動できていないのが原因です。
NDKは Native Development Kit の略で、Androidアプリの中で C/C++などのネイティブコードを扱うための開発ツール一式です。
Flutter開発でも、Flutter本体はDartで書きますが、内部でAndroidのネイティブライブラリを使うパッケージがあります。そのため、場合によってはNDKが必要になります。
SDKとNDKの違い
混同しやすいですが、ざっくり言うと、
Android SDK → Androidアプリを作るための基本的な開発キット
Android SDK Build Tools → APKなどをビルドするためのツール
Android NDK → C/C++などのネイティブコードをAndroid向けにビルドするためのツール
です。
なので、今回の問題はFlutterそのものが壊れているというより、Android側のビルド環境に必要なNDKが不足していると考えると分かりやすいです。
なお、エラーに出ている
28.2.13676358
はNDKのバージョン番号です。
特に重要なのはここです。
NDKはバージョンによって多少変わりますが、28.2.13676358なら数百MB程度と考えておけば大丈夫です。
Android StudioのSDK Managerでは、ダウンロードサイズとインストール後の使用容量が表示されるので、実際にはそちらを確認するのが確実です。
今回のようにFlutterでAndroid開発をする場合、NDK以外にも、
Android SDK
Android SDK Platform
Android SDK Build-Tools
Command-line Tools
Emulator(使う場合)
などが入るため、Android開発環境全体では数GB程度の容量を見ておくと安心です。
なお、NDKはFlutterアプリを作るたびに入れるものではなく、Android SDKに一度インストールしておけば複数のFlutterプロジェクトで共有できます。
Package ndk not found.
Package 28.2.13676358 not found.
そして、
sdkmanager.bat
finished with non-zero exit value -1073740791
(NTSTATUS 0xC0000409)
となっているので、まず NDK 28.2.13676358 を手動でインストールしてみるのがよいです。
1. Android StudioからNDKをインストール
Android Studioで、
Settings → Languages & Frameworks → Android SDK
を開きます。
次に、
SDK Tools
タブを選択します。
以下を確認してください。
NDK (Side by side)
Android SDK Command-line Tools (latest)
特にNDK (Side by side)にチェックを入れます。
右下のShow Package Detailsにチェックを入れると、NDKのバージョンを選択できます。
そこで、
28.2.13676358
を選択してインストールしてください。
その後、NDKが本当にそのSDKに入っているか確認するために
Android Studioのターミナルで実行してください。
dir "$env:LOCALAPPDATA\Android\sdk\ndk"
理想的には、28.2.13676358 と表示されます。
さらに、
Test-Path "$env:LOCALAPPDATA\Android\sdk\ndk\28.2.13676358"
を実行して、返却値がTrueになることを確認します。
※返却値がFalseになる場合
Android Studioで、
Settings → Languages & Frameworks → Android SDK → SDK Tools
を開きます。
そこで、
NDK (Side by side)
にチェックを入れた状態で、右下の
Show Package Details
にチェックを入れてください。
するとNDKのバージョン一覧が出るので、
28.2.13676358
を選択してインストールします。
NDK 30は残しておいて構いません。
サイト
FVM で Windows上での Flutter の開発構築のメモ(+ Androidアプリの開発環境も)
Windows 11 の PowerShell で Chocolatey をインストールした際のメモ
Windows 11 の PowerShell で Chocolatey をインストールした際のメモ
Firebase
KARTE
Flutterでデスクトップアプリ
FlutterでLottie(.json / .lottie)を使う方法を整理する
【Mac M1】「flutter doctor」実行時の「cmdline-tools component is missing」の解決法
[typescript]Promise関数の種類、並列処理、並列処理とその使い分け
TypeScriptパフォーマンス最適化実践:コンパイル時からランタイムまでの5つのプロダクションパターン


