🧙

Codemagicで「NDK not configured」が出た場合の対処方法

2023/03/29に公開

Codemagicで「NDK not configured」が出た場合の対処方法

発端

Flutterでpdf_render: ^1.3.0を入れてビルドしたら、下記のエラーが出た

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':pdf_render'.
> org.gradle.api.InvalidUserDataException: NDK not configured. Download it with SDK manager. Preferred NDK version is '21.4.7075529'. 

Android Studioでの対処方法

①NDKがないと言われてるので、Preferences > Appearance & Behavior > System Settings > Android SDKSDK ToolsからNDKをインストールする
※ダイアログにあるShow Package Detailsにチェックを入れると細かいバージョンを指定してインストールできる

②上記でビルドしてみると今度は下記のエラーが出る

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':pdf_render'.
> com.android.builder.errors.EvalIssueException: CMake '3.10.2' was not found in SDK, PATH, or by cmake.dir property.

③CMakeが今度は足りないので、NDKをインストールした画面から今度はCMakeの3.10.2をインストール

④ビルドする

Codemagicでエラーになった

AndroidStudioでNDKを入れて動いたけど、Codemagicってワンチャンよしなに解決してくれないかなと淡い期待でビルドしてみたら、やっぱりビルドが通らず同じエラーになった。

Codemagicでの対処方法

@tamamu79さんの参考記事が大変助かりました。
https://qiita.com/tamamu79/items/1f482b5251c5e0f8ba00

Codemagicで利用されてるバージョン

Build machine and software versions


(2023-03-29時点)

やったこと

①NDKを入れる対象を把握する
https://developer.android.com/ndk/downloads/revision_history?hl=ja
(私のケースではNDKが21.4.7075529を入れる必要があったのでr21eが必要)

②CodemagicのPre-build scriptで下記のスクリプトを追加

echo "Installing NDK"
curl -o $FCI_BUILD_DIR/ndk.zip https://dl.google.com/android/repository/android-ndk-r21e-darwin-x86_64.zip\?hl\=ja
unzip -o $FCI_BUILD_DIR/ndk.zip -d $FCI_BUILD_DIR
echo "ndk.dir=$FCI_BUILD_DIR/android-ndk-r21e" > "$FCI_BUILD_DIR/android/local.properties"

③ビルドする

Discussion