Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android NDK:自动生成函数声明?_Java_Android_Java Native Interface_Header_Android Ndk - Fatal编程技术网

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

Java Android NDK:自动生成函数声明?,java,android,java-native-interface,header,android-ndk,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); 但是,由于我使用的是一个现有的库,我也在其他平台上使用它,所以我不喜欢用这些定义来乱扔整个代码,最终只会包装我真正的函数 有办法解决这个问题吗?如果这真的是唯

我试图在我的android项目中使用预先存在的本机C库。。使用NDK工具可以很好地构建库

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

JNIEXPORT jint JNICALL Java_com_MultPkg_Mult_mult(JNIEnv *, jobject, jint, jint);
但是,由于我使用的是一个现有的库,我也在其他平台上使用它,所以我不喜欢用这些定义来乱扔整个代码,最终只会包装我真正的函数

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


非常感谢使用JDK附带的工具,因为它不是Android SDK或NDK的一部分。

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

看看这个: