はじめに:Flutterで「NDK version」エラーが発生する原因とは?#

No version of NDK matched the requested version
NDK not configured.
このような「NDK version」関連のエラーは、主に Android のネイティブ開発キット(Android NDK)のバージョン不一致や設定漏れが原因です。Flutter プロジェクトでは Dart コードが中心ですが、Android 側で C/C++ を利用するプラグインやネイティブコードがあると、NDK が関わってきます。
本記事では、
- エラーの原因
- 確認方法
- 正しい設定手順
- よくある失敗とその対策
- FAQ(よくある質問)
といった流れで、初心者〜中級者の方にもわかりやすく「完全解決ガイド」としてまとめました。
FlutterでNDKとは?NDK versionエラーの原因を理解しよう#
Android NDK の概要と役割#
Android NDK(Native Development Kit)は、Android アプリ内で C/C++ ネイティブコードを使用できる開発キットです。Flutter 自体は Dart で動作しますが、
- 一部の Flutter プラグインがネイティブライブラリを使っていたり、
- Android 側の SDK 内でネイティブコード参照があったり、
といったケースで NDK が関係します。
正しく設定されていないと、ビルド時に Android 側で “NDK not configured” や “No version of NDK matched the requested version” といったエラーが出やすくなります。
Flutterプロジェクトにおける NDKの利用場面#
例えば、次のような場面で NDK が必要になることがあります:
- 画像/音声処理系のプラグイン(例:ffmpeg、tflite 等)
- Android のネイティブ API 呼び出しを Flutter からラップしているプラグイン
- 既存の Android ライブラリを Flutter プロジェクト内で再利用している場合
このため、Flutter アプリをAndroidでリリースしたり、ネイティブライブラリを多用する場合には、NDKのバージョン・設定が重要になります。
FlutterのNDK versionエラー例と原因を徹底解説#
エラー例①:No version of NDK matched the requested version#
No version of NDK matched the requested version 21.4.7075529
このエラーは、android/app/build.gradle 内で指定された ndkVersion が、ローカルにインストールされていないバージョンであることが原因です。
エラー例②:NDK not configured. Download it with SDK Manager.#
NDK not configured. Download it with SDK Manager.
このエラーは、Android SDK Manager で NDK がインストールされていない、または設定が通っていない場合に発生します。
エラー例③:One or more plugins require a higher Android NDK version#
Your project is configured with Android NDK 26.xxx…, but the following plugin(s) depend on a different Android NDK version:
path_provider_android requires Android NDK 27.0.12077973
Fix this issue by using the highest Android NDK version (they are backward compatible).
Add the following to android/app/build.gradle.kts:
ndkVersion = "27.0.12077973"
このエラーは、プロジェクトの NDK バージョンと使用中プラグインが要求する NDK バージョンが異なっているため発生します。
FlutterでNDK versionを確認・設定する方法#
Android Studioでの確認方法#
- Android Studio を起動
- メニューから Preferences/Settings → Appearance & Behavior → System Settings → Android SDK を選択
- 「SDK Tools」タブを開き、「NDK (Side by side)」欄を探す
- 「Show Package Details」にチェックを入れ、インストール済みの NDK バージョンを確認
この画面で表示されたバージョンが、実際にローカル環境で利用可能な NDK です。
コマンドラインでの確認方法#
macOS/Linux:
ls ~/Library/Android/sdk/ndk/
Windows:
dir "C:\Users\<ユーザー名>\AppData\Local\Android\Sdk\ndk"
このフォルダ内に複数バージョンがあれば、どの NDK がインストールされているか確認できます。
推奨 NDK バージョン(2025年版)#
多くの Flutter プロジェクト・プラグインで「NDK 27.0.xxxx」が推奨されており、逆にそれより低いバージョンだとプラグインの要求に応えられない事例が増えています。 community.esri.com
例:Flutter 3.29 以上では NDK 27.0.12077973 が最低でも推奨とする声があります。 このため、プロジェクト側では ndkVersion をこのあたりに合わせておくと、トラブルが少なくなります。
Flutterプロジェクトでの正しい ndkVersion 設定手順#
build.gradle における指定例#
android/app/build.gradle の android ブロック内に以下のように記述します(Groovy形式):
android {
compileSdkVersion 34
defaultConfig {
applicationId "com.example.myapp"
minSdkVersion 24
targetSdkVersion 34
versionCode 1
versionName "1.0"
}
// ここで NDK バージョンを固定する
ndkVersion "27.0.12077973"
}
Kotlin DSL (build.gradle.kts) を使用している場合は次のようになります:
android {
compileSdk = 34
defaultConfig {
applicationId = "com.example.myapp"
minSdk = 24
targetSdk = 34
versionCode = 1
versionName = "1.0"
}
ndkVersion = "27.0.12077973"
}
ndkVersion を固定する利点と注意点#
利点:
チーム開発でビルド環境を統一しやすくなる
CI/CD 環境でビルドが安定する
プラグイン側が要求する NDK バージョンとずれた時のエラーを未然に防げる
インストール済みでないバージョンを指定すると、逆に「バージョンが見つからない」エラーが出るため、必ずローカルにそのバージョンが存在していることを確認してください。
Android Studioで NDK をインストール・更新する手順#
手順概要#
Android Studio を起動
メニューから Tools → SDK Manager を選択
「SDK Tools」タブをクリック
「NDK (Side by side)」にチェックを入れ、必要に応じて「Show Package Details」でバージョンを選択・インストール
「Apply」→「OK」でインストールを実行
インストール完了後、ターミナルから flutter doctor -v を実行して異常がないか確認
この手順で最新・必要な NDK バージョンを導入できます。
Flutter NDK versionエラーが直らない時のチェックリスト#
エラー:Flutter が古い NDK を参照している#
現象: flutter.ndkVersion を使っていて、プロジェクトが古いバージョンを参照してしまっている。例えば ndkVersion flutter.ndkVersion のまま、プラグインが要求するバージョンに至っていない。
対策: android/app/build.gradle 内で明示的にバージョンを指定する(例:ndkVersion “27.0.12077973”)ことで解決します。
エラー:「NDK not found」#
現象: NDK がインストールされていない、または SDK のパス設定が正しくない。 対策: Android Studio の SDK Tools から NDK をインストールした後、local.properties に ndk.dir を指定する例もありますが、一般的には SDK Manager からインストールして build.gradle で ndkVersion を明示しておくことが有効です。
エラー:「NDK version mismatch」#
現象: プラグインが要求する NDK バージョンと、プロジェクトで使用しているバージョンが異なっており、ビルドが失敗する。
対策: プラグインが要求しているバージョンを確認し、それ以上のバージョンを ndkVersion に指定し、プロジェクト全体で統一しておくのがベストです。
最終手段:これでも直らない時のチェックリスト#
まずはflutter clean を実行し、キャッシュをクリアします。
flutter clean
flutter pub get
上記コマンドを実行後、Android Studio を再起動してください。
その後、Android SDK / NDK の状態を下記flutter doctorコマンドで確認します。
flutter doctor -v
android/local.properties や android/gradle.properties に誤ったndk.dir設定が残っていないか確認
他のモジュール(サブプロジェクト)でndkVersionが異なって指定されていないか確認してください。
必要なら afterEvaluate ブロックで強制統一も可能です。
Flutter NDK versionに関するFAQ(よくある質問)#
Q1. Flutterで「NDK version」エラーが出る主な原因は?#
A. 主な原因は、Flutterのビルド設定で指定されたNDKバージョンと、実際にAndroid SDKにインストールされているNDKのバージョンが一致していないことです。
Q2. ndkVersionはどこで設定すればいいですか?#
A. android/app/build.gradle の android ブロック内に指定します。推奨は ndkVersion "27.0.12077973" など明示的なバージョン指定です。
Q3. 「NDK not configured」エラーの解決方法は?#
A. Android Studioで「NDK (Side by side)」を有効化してNDKをインストールし、再ビルドすることで解決します。
Flutterおすすめ関連記事#
👉 関連記事もおすすめです
これからFlutterを学びたい方に最適!インストール方法から最初のアプリ作成まで、初心者でも迷わない手順を解説しています。
FlutterとRustを組み合わせた最新モバイル開発の流れを紹介。パフォーマンスと安全性を両立した構成を実例付きで解説します。
Flutter SDKの仕組み、バージョン管理、アップデート時の注意点を網羅。安定した開発環境を構築したい方は必見です。




