NDKでは、PREBUILT_SHARED_LIBRARY変数を使用して、ビルド済みのユーザーライブラリとリンクできます。
リンクする必要のあるライブラリがlibrandom.soであると仮定して、プロジェクトフォルダーのサブフォルダーlibs
にフォルダーを作成します。jni
mkdir -p jni/libs
cp librandom.so jni/libs
次に、jni/libs/Android.mk
ファイルを作成します。
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := random
LOCAL_SRC_FILES := librandom.so
include $(PREBUILT_SHARED_LIBRARY)
ビルド済みのライブラリごとにセクションを作成でき、すべてがに配置されjni/libs
ます。
次に、上記のファイルをjni / Android.mkに含めるだけで、動作させることができます。NDKドキュメントでは、これをAndroid.mkの途中ではなく、最後に行うことをお勧めします。
include $(LOCAL_PATH)/libs/Android.mk
ただし、このライブラリを必要とするモジュールの前にこれを行う必要があります。
リンクするには、ビルド済みライブラリにリンクするモジュールセクションに以下を追加する必要があります。
LOCAL_SHARED_LIBRARIES := random
libs/armeabi/
次に、ndk-buildを実行すると、モジュールをビルドする前にこのライブラリがコピーされます。これで準備完了です。
注:これは、必要なヘッダーの問題を解決するものではありません。LOCAL_C_INCLUDES
ライブラリのヘッダーの場所を、それを必要とするモジュールの変数に追加する必要があります。