AndroidNDKでの共有ライブラリの設定方法
ndk-build を行うプロジェクト内で、別のライブラリを読み込む場合、Android.mk に宣言をしておく必要があります。
書いてなくてもビルドは通りますが、実行時に参照エラーが出るという面倒くさいことになります。
今回は、共有ライブラリおよび静的ライブラリの NDK での設定方法をまとめておきます。
[環境]
・Mac OS X 10.10.4 Yosemite
・Android NDK r10e
・共有ライブラリ libsample.so をリンクする場合
libsample.so を参照したいプロジェクトのビルド設定より前に、以下のような宣言を行います。
この先のサンプルでは、以下のようにファイルが配置されているものとします。
Android.mk : /jni/Android.mk
libsample.so : /jni/lib/x86/libsample.so
libsample.a : /jni/lib/x86/libsample.a
include $(CLEAR_VARS) LOCAL_MODULE := sample LOCAL_SRC_FILES := lib/$(TARGET_ARCH_ABI)/libsample.so include $(PREBUILT_SHARED_LIBRARY)
また、参照したいプロジェクト側のビルド設定には、以下の項目を追加します。
LOCAL_SHARED_LIBRARIES += libsample
・静的ライブラリ libsample.a をリンクする場合
共有ライブラリの場合とほとんど変わりません。
include $(CLEAR_VARS) LOCAL_MODULE := sample LOCAL_SRC_FILES := lib/$(TARGET_ARCH_ABI)/libsample.a include $(PREBUILT_STATIC_LIBRARY)
また、参照したいプロジェクト側のビルド設定には、以下の項目を追加します。
LOCAL_STATIC_LIBRARIES += sample
おしまい。
ディスカッション
コメント一覧
まだ、コメントがありません