ライブラリを用いてNDKでsoファイルをビルドする方法

共有ライブラリなどを使って、NDKからsoファイルを作る場合、Android.mkで以下のように追記する。


include $(CLEAR_VARS)
LOCAL_MODULE := libTestIntermediate.so
LOCAL_SRC_FILES_ := ../lib/libtest.so
include $(PREBUILT_SHARED_LIBRARY)
プロジェクトのlibフォルダにlibtest.soを置いておくと、ビルドする際にlibsにlibtest.soがコピーされて、libtest.soを用いてJNIファイルをビルドすることができる。はじめからlibsにlibtest.soを置いておくと、ビルドした際にlibsフォルダ内は一度クリーンされてしまうため、リンク時にエラーになる。これを回避するために上記のような措置が必要となる。

libsフォルダにコピーされたあとは、LOCAL_MODULEで指定してある名前に変更されるので、あとは以下のようにして使えばOK


LOCAL_SHARED_LIBRARIES := TestIntermediate