Flutter SDK・Android Studio・VS Code を Windows 11 に入れ、Android Emulator で初期アプリが起動するまでの最短手順をまとめています。WSL2 は使いません。iOS ビルド・状態管理・リリース署名は対象外です。
1. ゴールと非対象
対象読者
- Windows 11 で Flutter を始めたい初学者〜初級者
- まず Android 向けの最初の 1 本を動かしたい人
- WSL2 や iOS まで一度に広げず、最短構成で入りたい人
この記事で到達する状態
flutter doctorを実行できる- Android Emulator が起動する
flutter createで作った初期アプリをflutter runで表示できる
非対象
- iOS ビルドと Xcode
- Flutter Web / Windows desktop のセットアップ
- Riverpod などの状態管理
- MethodChannel やネイティブ SDK 連携
- リリースビルドと署名
Windows では iOS Simulator や Xcode は扱えません。ここでは Android 開発だけに絞ります。
2. 前提確認
2-1. 既存の Flutter が入っていないか確認する
PowerShell で実行します。
where.exe flutter
何も表示されなければそのまま進めて問題ありません。別の場所の flutter.bat が表示された場合は、あとで別 SDK を拾って混乱しやすいので、どの Flutter を使うか先に整理してください。
2-2. 事前に見ておく前提
- Windows 11 x64
- 管理者権限が使えること
- PowerShell の基本操作に抵抗がないこと
- Android Emulator を使うなら CPU の仮想化が有効であること
仮想化が無効な場合、Android Emulator の起動で止まりやすくなります。確認場所はタスクマネージャーの パフォーマンス -> CPU -> 仮想化 です。
3. Flutter SDK を入れる
ここでは Flutter SDK を Windows に直接入れます。WSL2 は使いません。
3-1. Flutter SDK をダウンロードして展開する
Flutter 公式の manual install ページ から Windows 用の stable SDK をダウンロードします。C:\dev\ 直下に zip を展開してください。zip の中にすでに flutter フォルダが含まれているため、展開後は自然に C:\dev\flutter になります。
展開先は C:\Program Files より C:\dev のような短いパスのほうが扱いやすいです。
期待する構成:
C:\dev\flutter
└─ bin
├─ flutter.bat
└─ ...
3-2. User PATH に C:\dev\flutter\bin を追加する
PowerShell で実行します。
このスクリプトは User PATH に C:\dev\flutter\bin を重複なく追加するためのものです。既存の PATH を壊さず、まだ登録されていない場合だけ追記します。
$flutterBin = 'C:\dev\flutter\bin'
$userPath = [Environment]::GetEnvironmentVariable('Path', 'User')
$pathParts = @()
if ($userPath) {
$pathParts += $userPath -split ';' | Where-Object { $_ }
}
if ($pathParts -notcontains $flutterBin) {
$newPath = ($pathParts + $flutterBin) -join ';'
[Environment]::SetEnvironmentVariable('Path', $newPath, 'User')
}
コードのポイント
① 既存の User PATH を分解して扱う
$userPath = [Environment]::GetEnvironmentVariable('Path', 'User')
$pathParts = @()
if ($userPath) {
$pathParts += $userPath -split ';' | Where-Object { $_ }
}
最初に User PATH を文字列で取得し、そのまま上書きせず配列へ分解しています。空要素を落としてから扱う形にしておくと、あとで追記するときに余計な ;; を混ぜずに済みます。
② 未登録のときだけ Flutter SDK の bin を追加する
if ($pathParts -notcontains $flutterBin) {
$newPath = ($pathParts + $flutterBin) -join ';'
[Environment]::SetEnvironmentVariable('Path', $newPath, 'User')
}
-notcontains で重複登録を避けているのが核心です。毎回末尾へ足すのではなく、未登録のときだけ保存するため、PATH が増殖して別の Flutter と混ざる事故を抑えやすくなります。
実行後は PowerShell を一度閉じて、新しい PowerShell を開き直してください。
3-3. Flutter コマンドを確認する
新しく開いた PowerShell で次を実行します。
flutter --version
flutter doctor
flutter --version が表示されれば PATH は通っています。flutter doctor はこの時点では warning が残っていても問題ありません。ここで見るのは Flutter SDK 自体が認識されているかどうかです。
4. Android Studio と Android toolchain を整える
VS Code で編集する場合でも、Android SDK と Android Emulator の土台は Android Studio 側で入れるのがいちばん分かりやすいです。
4-1. Android Studio をインストールする
Android Studio 公式ページ からインストーラを入れ、Setup Wizard を最後まで進めます。初回セットアップでは、少なくとも次が入っている状態にしてください。
- Android SDK
- Android SDK Platform
- Android SDK Command-line Tools
- Android Emulator
インストール後に Android Studio を一度起動し、More Actions から SDK Manager を開けることを確認します。
4-2. Android ライセンスを受け入れる
Android SDK の利用条件への同意が済んでいないと flutter doctor で Android licenses not accepted の警告が出てビルドが通りません。PowerShell で次を実行します。
flutter doctor --android-licenses
表示される確認に y で答えて進めます。
4-3. flutter doctor をもう一度確認する
flutter doctor
この記事で重視するのは次の項目です。
FlutterAndroid toolchainAndroid Studio
この時点で Chrome や Visual Studio が warning のままでも、Android 向けだけを触るなら先へ進めます。全部を一度に green にしようとすると、本筋から外れやすくなりがちです。
5. VS Code を整える
5-1. VS Code をインストールする
VS Code 公式サイト からインストーラをダウンロードして実行します。インストール中に「PATHへの追加」と「code コマンドをコンテキストメニューに追加」を有効にしておくと、あとで code . が使えて便利です。
5-2. Flutter 拡張を入れる
VS Code の Extensions で Flutter を検索してインストールします。通常は Dart 拡張も一緒に導入する確認が出るので、そのまま入れます。
ここでは編集環境をそろえるだけで十分です。プロジェクト作成は次の章で CLI から行います。
6. Android Emulator を作る
6-1. Device Manager を開く
Android Studio を開き、Main Menu > Tools から Device Manager を開きます。表示名はバージョンで少し変わりますが、仮想端末を管理する画面を開ければ大丈夫です。
### 6-2. 仮想端末を 1 台作る
次の流れで進めます。
Add a new device > Create Virtual Device

- Pixel 系など一般的な端末を選び、Nextを選択

Recommendedと表示される system image を選び、Finishを選択
- 作成後に起動する

正確な端末名や API レベルは変わるので、画面で Recommended とされる組み合わせを選ぶのが安全です。
6-3. Flutter 側から見えているか確認する
PowerShell で実行します。
flutter emulators
flutter devices
flutter devices に Android Emulator が 1 台見えれば次へ進めます。
もしエミュレータが出ない場合は、Android Studio の SDK Manager で system image が入っているかを先に見直してください。
7. 最初のアプリを実行する
7-1. プロジェクトを作る
PowerShell で実行します。
cd $env:USERPROFILE
flutter create hello_flutter
cd hello_flutter
この時点で hello_flutter ディレクトリが作成され、Flutter の初期カウンターアプリ一式が入ります。
7-2. VS Code で開く
code コマンドが使えるなら、そのまま実行します。
code .
code が使えない場合は、VS Code から Open Folder... で hello_flutter を開いてください。
7-3. flutter run で起動する
エミュレータを起動したまま、PowerShell で実行します。
flutter run
複数デバイスが見えていて意図しないターゲットを選びそうなら、先に flutter devices を見て ID を確認し、-d 付きで起動します。
flutter devices
flutter run -d <device_id>
初回起動は少し時間がかかります。エミュレータに Flutter の初期カウンターアプリが表示されたら成功です。
flutter run 中によく使うキー:
r: hot reloadR: hot restartq: 終了
8. 任意: FVM で Flutter バージョンを固定する
ここは最初の起動確認が終わったあとで十分です。最初から FVM まで一度に入れると、どこで詰まったか切り分けにくくなります。
FVM の公式ドキュメント では、Windows でも PowerShell / Chocolatey 経由で使える前提になっています。導入後、プロジェクト単位で stable を固定したいなら、hello_flutter ディレクトリで次を実行します。
fvm use stable --pin
このコマンドは、最新の stable をその時点の具体バージョンへ固定したいときに便利です。複数案件で Flutter バージョンがずれるようになってから導入しても遅くありません。
9. よくあるエラーと復旧
9-1. flutter command not found
- 症状:
flutterが認識されない - 原因: PATH 未設定、または PowerShell を開き直していない
- 対処:
where.exe flutter
C:\dev\flutter\bin\flutter.bat が見えないなら、3章の PATH 追加をやり直します。
9-2. flutter doctor で Android licenses が残る
- 症状:
Android licenses not accepted - 原因: ライセンス未受諾
- 対処:
flutter doctor --android-licenses
flutter doctor
9-3. flutter doctor で Android SDK が見つからない
- 症状:
Unable to locate Android SDK - 原因: Android Studio は入っているが、SDK 本体や Command-line Tools が不足している
- 対処: Android Studio の
SDK Managerを開き、Android SDK と SDK Command-line Tools を入れ直してからflutter doctorを再実行します。
9-4. flutter devices にエミュレータが出ない
- 症状: 接続先が 0 台
- 原因: エミュレータ未起動、または system image 未導入
- 対処:
flutter emulators
flutter devices
flutter emulators が空なら、Android Studio の Device Manager で仮想端末を作り直します。
9-5. flutter run が Android ではなく別ターゲットへ向く
- 症状: Android Emulator ではなく別デバイスへ起動しようとする
- 原因: 複数ターゲットが見えている
- 対処:
flutter devices
flutter run -d <device_id>
まとめ
ここまでで、次の 3 つが通っていれば Flutter の最初の環境構築は完了です。
flutter doctorが実行できるflutter devicesに Android Emulator が見えるflutter runで初期アプリが起動する
次のステップとして、以下が参考になります。
- Write your first Flutter app(Flutter 公式 Codelab) — カウンターアプリを改造しながら Widget の基本を学べます
- Dart language tour(Dart 公式) — Flutter で使う Dart の文法を一通り確認できます
- FVM 公式ドキュメント — 複数プロジェクトを持ちはじめたときにバージョン管理で役立ちます