假设我有一个像这样的Java类:
我已经花了几个小时尝试实现一个JNI函数,该函数调用Java函数并返回一个字符串。有人能否通过代码片段向我展示如何使用JNI从C++调用“getValue”函数,并获得来自“MyClass”的String变量值的jstring变量。
// C++
可能是重复问题:
如何在C++应用程序中访问Java方法
假设我有一个像这样的Java类:
class MyClass
{
String value = "a string value";
String getValue()
{
return value;
}
}
我已经花了几个小时尝试实现一个JNI函数,该函数调用Java函数并返回一个字符串。有人能否通过代码片段向我展示如何使用JNI从C++调用“getValue”函数,并获得来自“MyClass”的String变量值的jstring变量。
// C++
jobject result;
jMethodID method_getValue = m_env->GetMethodID(native_object,"getValue","()Ljava/lang/String;");
result = m_env->CallObjectMethod(native_object, method_getValue);