【Flutter】 Android NDKでエラーが出たときの対処法
2025/02/23
2025/02/23
📰 アフィリエイト広告を利用しています
Android NDKのバーションが合わないというエラーが表示された時の対処法メモ
Flutterの勉強していたときにこのエラーが出て、そのままにしておくのは嫌なので対処しようとしたらちょっとはまったのでメモを残しておく
[√] Flutter (Channel stable, 3.29.0, on Microsoft Windows [Version 10.0.26100.3194], locale ja-JP) [409ms]
[√]Android toolchain - develop for Android devices (Android SDK version 35.0.1)
エラー文
対処するもとになったエラーの文。そのままでも動作はしていた。今回は26.3.11579264から27.0.12077973に変更したところエラーもなく動作した
Your project is configured with Android NDK 26.3.11579264, 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 F:\program\learning\flutter\hello_app\android\app\build.gradle.kts:
android {
ndkVersion = "27.0.12077973"
...
}
Android NDKのバージョン変更
各プロジェクトごとに設定する方法とFlutterのデフォルトを設定する方法があります。
プロジェクトのNDKのバージョンを指定する
android/app/build.gradle.ktsでNDKのバーションを指定しているが以下のようにFlutterのプロパティで指定されている
android {
namespace = "com.example.hello_app"
compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion
flutter.ndkVersionを直接変更しても動作します。またはgradel.propertiesをandroid.ndkVersion=27.0.12077973のように設定し、
ndkVersion = android.ndkVersion
としても動作します。
FlutterのAndroid NDKのバージョンを指定する
ChatGPTに聞いたらこちらの方法は非推奨
Flutter自体のflutter.ndkVersionを変える方法です。
まず、Flutterのインストール先を確認します。
flutter doctor -v
これを実行すると以下のように出力される。
Flutter (Channel stable, 3.29.0, on Microsoft Windows [Version 10.0.26100.3194], locale ja-JP) [409ms]
• Flutter version 3.29.0 on channel stable at <インストール先のフォルダ>
インストール先のフォルダのflutter\packages\flutter_tools\gradle\src\main\groovy\flutter.groovyを使用するバージョンに編集する
// public final String ndkVersion = "26.3.11579264" // Old
public final String ndkVersion = "27.0.12077973"
NDKのインストール
NDKのバージョン指定はできたがNDKをインストールしていなければ動作しないため、確認して必要があればインストールする。
Android StudioからTools -> SDK Manager -> SDK Tools と選択し、Show Package Detailにチェックを入れるとバージョン一覧がでるので必要なNDKをインストールする。
