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