我正在使用JNI实现一个Android应用程序,
我有一些JNI函数,
#include <stdio.h>
#include <jni.h>
// other header files
JNIEXPORT jint JNICALL Java_com_example_projectpmic_NativeLib_get_1clock_1status
(JNIEnv *env, jobject obj, jint v)
{ / will do something
pthread_t native_thread ;
pthread_create(&native_thread,NULL,native_thread_funtion,NULL) ;
}
JNIEXPORT jint JNICALL Java_com_example_projectpmic_NativeLib_get_name
(JNIEnv *env, jobject obj, jint v)
{ / will do something
}
void *native_thread_function(void* args)
{
/*I want to call the above get_name() function in this thread function ,
// How to do that ? */
}
注意:这两个函数在同一个.c文件中
答案 0 :(得分:0)
要从任意本机方法调用JNI方法,您需要一个JNIEnv指针,唯一可以从AttachCurrentThread()获取的方法。