Codemagicでr19のNDKを使用する


概要

  • Codemagicでr19のNDKを使用する

前提

  • NDKはAndroidビルドで使用
  • Codemagicでは以下のスペックを使用
    • Standard VM on Mac mini 2.3GHz Quad Core / 8GB

ハードスペック内容

Xcode 13.2を使用しているため、スペック一覧はこちらになります

求めるNDKバージョン

使用したいバージョンは、Unityに含まれているNDKバージョン。

  • ローカルのものを見てみると使用しているUnityは2020.3.3f1とのこと。

実際に使用しているNDKバージョンは以下のパスにあるsource.propertiesで確認できます。

  • ndk.dir=/Applications/Unity/Hub/Editor/2020.3.3f1/PlaybackEngines/AndroidPlayer/NDK

source.propertiesの中身はこちら

Pkg.Desc = Android NDK
Pkg.Revision = 19.0.5232133
  • 使用したいNDKのバージョンは19.0.5232133ということになります。

CodemagicでPre-installedのNDKバージョンを変更する

Codemagicでは、2パターンでCIを回せます。

  • コンソールに入力するWorkflow形式
  • condemagic.yamlファイルをプロジェクト直下に置いてそのファイルを見て実行する形式

Workflow形式より詳細に設定したい場合は、condemagic.yamlファイルをいじくる必要があるそうです。

実際に、Pre-installedされているNDKバージョンを変更するには以下のように記載します。

  • こちらBuild machine and software versions参照
environment:
  flutter: stable   # Define the channel name or version (e.g. v1.13.4)
  xcode: latest     # Define latest, edge or version (e.g. 11.2)
  cocoapods: 1.9.1  # Define default or version
  node: 12.14.0     # Define default, latest, current, lts, carbon (or another stream), nightly or version
  npm: 6.13.7       # Define default, latest, next, lts or version
  ndk: r21d         # Define default or revision (e.g. r19c)
  java: 1.8         # Define default, or platform version (e.g. 11)
  ruby: 2.7.2       # Define default or version

なので、ndkの右側に使用したいバージョンを記載すればよさそうです。
ですが、右側に19.0.5232133と書けばよいのではなく、r~のようになにかしら記号がいるようです。

どんなNDKのバージョンを指定できるのかはこちらから確認できました。
一番近そうなものを指定してみます。

environment:
  ndk: r19c
  • しかし、r19c19.2.5345600なので、必要としているバージョンと違っています。
  • 調べてみるとr19であるようですが、上記のバージョンにしていすると、Codemagicで指定できないというエラーが生じます。

さぁ、困りました。

直でダウンロードしてみる

上記のダウンロードサイトで、r19cをリンクからzip形式でダウンロードできるようです。

しかし、r19のリンクが見当たりません。

が、あきらめてはいけません。
android-ndk-r19c-darwin-x86_64android-ndk-r19-darwin-x86_64というふうに数字の番号を変えてみればいけるのではないでしょうか。

いけました。

ダウンロードしたNDKを使用する

ダウンロードしたzipファイルを適当な場所に解凍し、パスを指定します。
コマンドで一連の流れを行います。

  • NDKのzipファイルをダウンロードする
curl -o $FCI_BUILD_DIR/ndk.zip https://dl.google.com/android/repository/android-ndk-r19-darwin-x86_64.zip\?hl\=ja
  • プロジェクト直下に解凍する
unzip -o $FCI_BUILD_DIR/ndk.zip -d $FCI_BUILD_DIR
  • local.propertiesにNDKのパスを指定する記述を追加
echo "ndk.dir=$FCI_BUILD_DIR/android-ndk-r19" > "$FCI_BUILD_DIR/android/local.properties"

これで、Androidをビルドする時に、19.2.5345600バージョンのNDKを使用できます。