c如何调用返回值为String的java函数

时间:2022-08-31 09:28:32
java类中定义了一个静态函数,
public static String getData(String id);
我要在C中通过jni调用它。应该如何调用?

我使用了
(*env)->CallStaticStringMethod(env, MyClass, getData, id);
但是编译的时候提示'const struct JNINativeInterface' has no member named 'CallStaticStringMethod'。
请大家帮帮忙解答一下,谢谢。

3 个解决方案

#1


jni是java调用c的吧

#2


应该是CallStaticObjectMethod吧,jni里面没有CallStaticStringMethod这个方法

#3


引用 2 楼  的回复:
应该是CallStaticObjectMethod吧,jni里面没有CallStaticStringMethod这个方法

你说的是对的,我找到个例子:
jstring result = (jstring)jnienv->CallObjectMethod();

#1


jni是java调用c的吧

#2


应该是CallStaticObjectMethod吧,jni里面没有CallStaticStringMethod这个方法

#3


引用 2 楼  的回复:
应该是CallStaticObjectMethod吧,jni里面没有CallStaticStringMethod这个方法

你说的是对的,我找到个例子:
jstring result = (jstring)jnienv->CallObjectMethod();