ステップ 1: NDK をインストールする
まず、最新バージョンの Android NDK をダウンロードしてインストールしていることを確認してください。最新の NDK リリース バージョンは、Android 公式 Web サイトNDKから入手できます。
ステップ 2: NDK プロジェクト ディレクトリを作成する
選択した場所に、NDK プロジェクトのルート ディレクトリとして機能する新しいディレクトリを作成します。たとえば、コンピュータ上に「NDK」というディレクトリを作成できます。
ステップ 3: C++ コードを作成する
ルートディレクトリに「jni」という名前のディレクトリを作成します。このディレクトリに、C++ コード ファイル (MyDLL.cpp など) を作成します。任意のテキスト エディタを使用してコードを作成できます。
NDK を使用して C++ コードをローカルでコンパイルする場合は、g++ や Clang/LLVM などの C++ コンパイラ ツール チェーンをインストールする必要があります。
GCC ツールチェーンの場合は、GNU Compiler Collection (GCC) をインストールすることで g++ を入手できます。GCC は、C、C++、Java、Fortran などの複数のプログラミング言語をサポートする強力なコンパイラ スイートです。
Clang/LLVM ツールチェーンの場合、Clang をインストールすることで C++ コンパイラを入手できます。Clang は、高性能、使いやすさ、拡張性を備えたオープン ソースの C/C++/Objective-C コンパイラーです。
どのツールチェーンを使用することを選択する場合でも、NDK プロジェクトをローカルでコンパイルおよびビルドするために、環境に適切な C++ コンパイラーがインストールされていることを確認してください。
Android.mkファイル
LOCAL_PATH := $(call my-dir)
export NDK_PROJECT_PATH= LOCAL_PATH/../
include $(CLEAR_VARS)
# 设置库名称
LOCAL_MODULE := MyDLL
# 添加源文件
LOCAL_SRC_FILES := MyDLL.cpp
include $(BUILD_SHARED_LIBRARY)
ここでは Unity 用のライブラリをエクスポートしているので、C++ コードは次のようになります。
MyDLL.h
#if defined(_WIN32) || defined(_WIN64)
#define UNITY_CPP __declspec(dllexport)
#else
#define UNITY_CPP __attribute__((visibility("default")))
#endif
#ifdef __cplusplus
extern "C" {
#endif
UNITY_CPP int add(int a, int b);
#ifdef __cplusplus
}
#endif
MyDLL.cpp
#if defined(_WIN32) || defined(_WIN64)
#define UNITY_CPP __declspec(dllexport)
#else
#define UNITY_CPP __attribute__((visibility("default")))
#endif
#ifdef __cplusplus
extern "C" {
#endif
UNITY_CPP int add(int a, int b);
#ifdef __cplusplus
}
#endif
次に、ターミナル cd を開いて NDK ディレクトリに移動し、ndk-build
ok を実行し、コンパイルが完了したら、Unity のプラグインに直接コピーします。