Java 调用c++;具有jni参数的函数

Java 调用c++;具有jni参数的函数,java,android,c++,java-native-interface,Java,Android,C++,Java Native Interface,我是jni的新手,所以请原谅我的代码混乱。因此,我在java中创建了一个名为getPid()的函数来获取正在运行的进程的pid。无论何时找到pid,它都会设置此变量的值: public int pid 设置为pid值。我想在C++中得到这个变量的值,这就是我现在所拥有的: int getPid(JNIEnv* _env, jobject _object) { jclass myClass = _env->FindClass("com/dark/force/MenuServ

我是jni的新手,所以请原谅我的代码混乱。因此,我在java中创建了一个名为
getPid()
的函数来获取正在运行的进程的pid。无论何时找到pid,它都会设置此变量的值:
public int pid
设置为pid值。我想在C++中得到这个变量的值,这就是我现在所拥有的:

int getPid(JNIEnv* _env, jobject _object) {
    jclass myClass = _env->FindClass("com/dark/force/MenuService");
    jfieldID jfieldId = _env->GetFieldID(myClass, "pid", "I");
    jint i =_env->GetIntField(_object, jfieldId);
    return i;
}

我想在同一C++文件中调用这个。我该怎么做?感谢您的帮助

您必须为当前线程获取一个
JNIEnv*
(参见示例)。至于
jobject
,您必须在较早的时候创建对它的全局引用,并将其保存在其他函数可以找到它的地方。