ファイル構成とプロジェクト設定(Android)
Android用に、インクルードパスとライブラリのリンクを設定します。
また、プログラム側でADX2ライブラリ初期化前にダイナミックライブラリのロードが必要です。
ライブラリ/ヘッダファイル構成
Android用のライブラリ/ヘッダ
ヘッダの格納場所 /cri/cocos2dx/include/android/
インクルードするヘッダ cri_adx2le.h
その他のヘッダファイル cri_le_atom.h
cri_le_atom_asr.h
cri_le_atom_ex.h
cri_le_atom_ex_monitor.h
cri_le_error.h
cri_le_file_system.h
cri_le_xpt.h
cri_le_atom_android.h
ライブラリ格納場所 /cri/cocos2dx/libs/android/armeabi-v7a
/cri/cocos2dx/libs/android/x86
ライブラリファイル libcri_ware_android_le.so
インクルードパスの設定
インクルードパスの設定にはAndroidプロジェクト内のjni/Android.mkを編集する必要があります。
次のようにしてLOCAL_C_INCLUDE変数にパスを追加してください。
LOCAL_C_INCLUDES += /cri/cocos2dx/include/android
サンプルプログラムでは相対パスで定義しています。
ライブラリのリンク設定
ADX2 LE for Cocos2d-x のAndroid用ライブラリはShared Object(.so)形式です。
使用するにはjni/Android.mkを編集する必要があります。以下に編集例を示します。
    # 【重要】LEライブラリ(.so)をローカルモジュールとして追加
    include $(CLEAR_VARS)
    LOCAL_MODULE := cri_ware_cocos2dx  #.so本体と同一名である必要はありません
    LOCAL_SRC_FILES := /cri/cocos2dx/libs/android/$(TARGET_ARCH_ABI)/libcri_ware_android_le.so
    include $(PREBUILT_SHARED_LIBRARY)
    # 上記の宣言で、プロジェクトビルド時にLOCAL_SRC_FILESの.soがapk内へと配置されます

    # Cocos2dライブラリ(.so)のビルドに関する設定
    include $(CLEAR_VARS)
    LOCAL_MODULE := cocos2dcpp_shared
    LOCAL_MODULE_FILENAME := libcocos2dcpp

    (省略)

    # 【重要】LEライブラリへの参照を追加
    LOCAL_SHARED_LIBRARIES := libcri_ware_cocos2dx
    include $(BUILD_SHARED_LIBRARY)

サンプルプログラムではライブラリディレクトリは相対パスで定義しています。
また、はjni/Application.mkで指定する必要があります。
詳細はサンプルプログラムを御覧ください。

Android用ダイナミックライブラリのロード処理

プログラム側で、ADX2ライブラリの初期化前にダイナミックライブラリを明示的にロードする必要があります。 Cocos2dxActivityを継承したメインアクティビティに次のようなロード命令を追加してください。
/* AppActivityはアプリケーションのメインアクティビティとします */
public class AppActivity extends Cocos2dxActivity {

    static {
        /* 指定ファイル名をダイナミックライブラリとしてロードします */
        System.loadLibrary("cri_ware_android_LE");
    }
}


CRI Middleware logo Copyright (c) 2012-2018 CRI Middleware Co., Ltd. CRI ADX2 LE マニュアル (for Cocos2d-x) SDKVer.2.10版