从其他本机函数调用JNI Native函数

时间:2013-06-19 03:32:14

标签: multithreading function java-native-interface native

我正在使用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文件中

1 个答案:

答案 0 :(得分:0)

要从任意本机方法调用JNI方法,您需要一个JNIEnv指针,唯一可以从AttachCurrentThread()获取的方法。