1。编写JniTest.java文件,里面定义出来native 函数,也就是需要c实现的函数
2。采用javah xxa/xxb/xxc/JniTest.java,可以生成对应的.h文件,生成的函数是java_xxa_xxb_xxc_JniTest_function名字
我们不需要这么长,直接写function()即可
3。在test.c文件里面写上标准的func函数,但是需要注上一批注册函数
需要注意:
1。最好定义一个REG_CLASS的宏,表示 xxa/xxb/xxc/JniTest,也就是这个JNI函数对应的jiava类,必须一致
2。在c里面JNIEnv是一个指针类型,所以在GetEnv时定义JNIEnv* env; GetEnv(vm,(void**)&env),如果改变env的指针,必须用&env,参数接受void**,相当于把***指针搞成**,不知道怎么弄的。在使用env是,需要(*env)-> not define cplusplus时
3。在.c文件里面声明和注册的函数,必须在JniTest.java声明