2009-11-29 76 views
2

我想在我的android项目中使用预先存在的本地C库..该库使用NDK工具构建得很好...Android NDK:自动生成函数声明?

现在我明白了,我不能只是打电话进库,但我的图书馆需要包含jni.h和添加特定的函数声明,例如像:

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

但因为我使用的是现有的库那我也使用在其他平台上我不不喜欢用这些定义乱丢整个代码的想法,这只会包装我的真实功能......

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

非常感谢

回答

1

使用javah工具随你的JDK,因为它是不是Android的SDK也NDK的一部分。

0

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

看一看这个:SWIG Android