在NDK自带的samples项目中,jni目录下都没有.c/cpp的头文件,而是直接遵循方法命名规则。如hello-jni.c文件,
jstring
Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env,
jobject thiz )
直接是Java_java本地方法所在包名(用下划线_取代点.连起来)_方法名(两个固定参数,java传入的其他参数);
其中JNIEnv *env :
就是JNI运行环境,通过它才能与java层交互。JNIEnv指针是JVM创建的,用于Native的c/c++方法操纵Java执行栈中的数据,比如Java Class, Java Method等。
jobject thiz或者jclass class:
就是指当前操作的数据来源的对象,当是静态方法时,则指这个类。
具体参考这个ÿ