如何在jni函数中使用整数和布尔值作为输入参数?

时间:2015-01-13 14:59:45

标签: java android c java-native-interface

我想在我的java代码中调用带有一些整数参数的jni函数

JAVA代码

invokeNativeFunction(integer1, integer2, boolean1);

C代码

jstring Java_com_any_dom_Eservice_invokeNativeFunction(JNIEnv* env, jobject obj,
                                                    jint integer1, // is it correct to put jint?
                                                    jint integer2,
                                                    jbool boolean1) {
}

如何在jni函数中使用整数和布尔值作为输入参数?

1 个答案:

答案 0 :(得分:2)

这就是你编写本机函数的方式

爪哇

private native void func(int length, bool flag)

现在使用javah,生成.h文件。它将为您自动生成函数声明

JNIEXPORT void JNICALL Java_com_lgc_gstream_client_client_func (JNIEnv *, jobject, jint, jboolean);

将此头文件包含在某个文件中并编写该函数的定义。你可以在像普通int这样的代码中使用jint和jboolean,在C ++中使用bool