【Flutter/Android】A problem occurred configuring project :app.の解決方法!NDKのインストール

この記事からわかること
- Flutter/DartのAndroidアプリのビルドエラー
- 「A problem occurred configuring project :app.」エラーの解決方法
- NDKとは?
index
[open]
\ アプリをリリースしました /
環境
- Android Studio:Koala
- Xcode:16.0
- Flutter:3.29.2
- Dart:3.7.2
- Mac M1:Sequoia 15.4
A problem occurred configuring project :app.
Flutterでエミュレーターにアプリをビルドしようとした際に以下のようなエラーが発生してビルドに失敗しました。エラー内容を見ると「NDK に source.properties ファイルがありません」と記述されています。
FAILURE: Build failed with an exception.
* Where:
Build file '/Users/ユーザー名/Desktop/FlutterApp/salary/android/build.gradle.kts' line: 16
* What went wrong:
A problem occurred configuring project ':app'.
> com.android.builder.errors.EvalIssueException: [CXX1101] NDK at /Users/ユーザー名/Library/Android/sdk/ndk/26.3.11579264 did not have a source.properties file
* 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.
> Get more help at https://help.gradle.org.
BUILD FAILED in 2s
該当のパスを一旦ls
で表示してみると「26.3.11579264」と表示されぱっと見問題なさそうに見えました。
ls /Users/ユーザー名/Library/Android/sdk/ndk/
26.3.11579264
解決方法
色々試した結果解決したのは一度NDKを削除して再度インストールすることでした。まず先ほどのディレクトリまで移動して削除コマンドを実行します。
$ rm -rf 26.3.11579264
削除が完了してから再度flutter run
を実行するとNDKのインストールを自動で実行してくれました。
$ flutter run
Launching lib/main.dart on sdk gphone64 arm64 in debug mode...
Warning: Errors during XML parse:
Warning: Additionally, the fallback loader failed to parse the XML.
Checking the license for package NDK (Side by side) 26.3.11579264 in /Users/XXXXX/Library/Android/sdk/licenses
License for package NDK (Side by side) 26.3.11579264 accepted.
Preparing "Install NDK (Side by side) 26.3.11579264 v.26.3.11579264".
Warning: An error occurred while preparing SDK package NDK (Side by side) 26.3.1
ちなみにNDKのバージョンはflutter/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy
ファイルでFlutter SDK単位で定義されているようでした。詳細は以下の記事を参考にしてください。
NDK(Native Development Kit)とは?
そもそも「NDK」とはNative Development Kitの略称でAndroidアプリでC/C++のネイティブコードを使うためのツールキットのようです。flutter_secure_storage
やrealm
などパッケージを導入している場合に一部コードがC/C++で記述されている場合があるため、NDKが必要になります。
インストール方法
Android Studioをエディタとして使用している場合新バージョンのNDKをインストールしたい場合は上部メニュー「Tools」>「SDK Manager」>「Android SDK」>「SDK Tools」からNDKのバージョンごとにインストールが可能です。下部にある「Show Package Details」にチェックをいれることでバージョンが一覧表示されます。

インストールしたバージョンをプロジェクトで使用したい場合は「build.gradle.kts」のndkVersion
を直接指定すればOKです。デフォルトではflutter.ndkVersion
を参照していますが、これは先に説明した「flutter.groovy」で指定しているバージョンを引っ張ってくるので明示的に変更したい場合は以下のようにする必要があります。
android {
namespace = "com.XXXX.XXXXXX"
compileSdk = flutter.compileSdkVersion
// flutter.ndkVersionから変更する
ndkVersion = "28.0.13004108"
}
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。