static JNINativeMethod method_table[] = { { "nativeInit", "()V", (void*)init_native}, { "nativeExecSuCmd", "(Ljava/lang/String;)I", (void*)execSuCmd_native }, { "nativeSetProperty", "(Ljava/lang/String;Ljava/lang/String;)I", (void*)setProperty_native }, { "nativeGetProperty", "(Ljava/lang/String;)Ljava/lang/String;", (void*)getProperty_native }, };
时间: 2024-04-26 08:24:18 浏览: 203
native_disclosure_bm5
这段代码定义了一个名为 method_table 的静态数组,其中包含了 4 个元素,每个元素都是一个 JNINativeMethod 结构体,它们分别对应了 4 个 JNI 方法。
每个 JNINativeMethod 结构体包含三个字段:第一个字段是 JNI 方法名,第二个字段是 JNI 方法的签名,第三个字段是指向本地方法实现函数的指针。其中,签名是用 JNI 规范定义的方法描述符,它指定了方法的参数类型和返回值类型。
这个 method_table 数组的作用是在 JNI_OnLoad 函数中注册本地方法,使得 Java 代码可以调用对应的本地方法。
阅读全文