我对我目前正在尝试的东西有点困惑:我想通过 NDK 交叉编译一个 C 库以与 Android 一起使用,这样我就可以创建一个 JNI 包装器并从我的 Android java 代码中调用它的一些函数.
我按照本指南交叉编译 libopus(我想在我的项目中包含的库):http ://mortoray.com/2012/08/21/android-ndk-cross-compile-setup-libpng-and-freetype/其中意味着我目前在 /opt/android-ext/ 有一个独立的工具链,其中包含一个包含我交叉编译的库 (libopus.a、libopus.so 等) 的 lib 文件夹。
我的 Android 项目上也已经有一个 jni 文件夹,其中包含一些带有我想要的 JNI 绑定的 C 代码,我可以从我的 Java 代码中调用它,但它什么也没做(我可以调用它,但它是一个空白函数) . 这意味着在我的项目中,有一个带有“libopusUtilsNative.so”(包装器)的 /lib/armeabi 目录。
我的问题是:
如何将刚刚交叉编译的库添加到项目中,以便(例如)我可以对已有的 C 源代码文件执行 #include 调用并访问库函数?我对如何:
将我交叉编译的库包含到我的项目中。
如何使我创建的包装器代码包含它(我猜这与向我的 Android.mk 文件中添加一些代码有关,但我一无所知)。