UE4のAndroid向け開発環境をMacで作り直そうとCodeWorksforAndroidのインストーラーを実行するとエラーが発生しインストールに失敗する。。
(CodeWorksforAndroid-1R4-osx.dmg
もCodeWorksforAndroid-1R5-osx.dmg
もダメ。それ以外は試してない)
本記事はUnrealEngine 4.13.1をインストールした際の事象となります。
Installing Android SDK Base 24.4.1_u1 failed.
Return Code: 2
failed MSpanList_Insert 0x2e12 0xb977c37635c0x0
fatal error: MSpanList_Insert
...
結論
CodeWorksの不具合みたいです。
Mac OS Sierra(10.12)ではまだ動作しないです。別のMac(El Capitan(10.11)で試した所、正常に動作しインストールできました。
MacOS SierraでUE4のAndroid開発環境を作る
ということで、手動で環境を作りました。
1. 必要なものを入手する
私は取り急ぎ最新バージョンをダウンロードして、ホームディレクトリにNVPACK
を作成しそこに解凍しました。
mkdir -m 755 ~/NVPACK
既に入っている場合やHomebrewで入れるなど場合は、そのパスを把握できていれば問題ありません。次のステップで使用します。
2. パスを通す
CodeWarksforAndroidが設定してくれるはずであった環境変数の設定を行います。
~/.bash_profile
に以下のパスを記述します。
# ホーム直下のNVPACKを指定
export NVPACK_ROOT="~/NVPACK"
# 既にANDROID_HOMEが指定されている場合は以下それを使い回す
export ANDROID_HOME=$NVPACK_ROOT/android-sdk-macosx
PATH=$PATH:$ANDROID_HOME/tools
PATH=$PATH:$ANDROID_HOME/platform-tools
PATH=$PATH:$ANDROID_HOME/build-tools
PATH=$PATH:$ANDROID_HOME/support
# 既にNDK_HOMEが指定されている場合は以下それを使い回す
export NDK_ROOT=NVPACK_ROOT/android-ndk-r13
export NDKROOT=$NDK_ROOT
PATH=$PATH:$NDK_ROOT
# ※1
export NVPACK_NDK_VERSION="android-ndk-r13"
# ※2
export NVPACK_NDK_TOOL_VERSION="4.9"
# 既に指定済みである場合は、それを使い回す
export ANT_HOME=$NVPACK_ROOT/apache-ant-1.8.2
PATH=$PATH:$ANT_HOME/bin
# 既に指定済みである場合は、それを使い回す
export GRADLE_HOME=$NVPACK_ROOT/gradle-2.9
PATH=$PATH:$GRADLE_HOME/bin
export PATH=$PATH
※1
NVPACK_NDK_VERSION
は導入したNDKのバージョンを設定するandroid-ndk-<VERSION>
の形式
※2NVPACK_NDK_TOOL_VERSION
はパスを通したNDKのsources/cxx-stl/gnu-libstdc++
に格納されている数字のディレクトリを指定する
3. UnrealEditorでもAndroidSDKの設定する
[ファイル] > [プロジェクトをパッケージ化] > [パッケージング設定...]
を開き、プラットフォーム欄のAndroid SDK
で前述のパスを通したように各SDKのパスを指定する。
以上で完了。
サンプルアプリでもビルドして起動するとAndroid端末にデプロイされる。