Android NDK:自动生成函数声明?

时间:2009-11-29 12:51:14

标签: java android java-native-interface header android-ndk

我正在尝试在我的android项目中使用预先存在的本机C库。该库使用NDK工具构建得很好......

现在我明白的是我不能只调用库,但我的库需要包含jni.h并添加特定的函数声明,例如:

JNIEXPORT jint JNICALL Java_com_MultPkg_Mult_mult(JNIEnv *, jobject, jint, jint);

但是由于我使用的是现有的库,我也在其他平台上使用过,我不喜欢用这些定义乱丢整个代码的想法,这些定义最终只能包装我的实际函数......

有解决方法吗?如果这真的是唯一的方法,有没有办法根据我现有的C函数声明/定义自动生成这些?

非常感谢

2 个答案:

答案 0 :(得分:1)

使用JDK附带的javah工具,因为它不是Android的SDK和NDK的一部分。

答案 1 :(得分:0)

使用SWIG自动生成jni兼容的c文件。它还会生成.java类,以便您的android与具有所有本机方法的java类进行交互。

看看这个:SWIG Android