基于NDK的c/c++方法名是不能随便命名的,需要根据一定的规则进行命名,实际上,NDK 方法的命名规则就是JNI的命名规则,除此之外,NDK方法必须带有两个固定的类型的参数
假设调用NDK方法的Java 类是mobile.android.HelloWorldJNI,在该类找那个实际访问的本地方法名是process,返回String,没有参数,
那么NDK方法的定义如下:
jstring Java_mobile_android_HelloWorldJNI_process(JNIEnv*env,jobject obj)
{
.............................
}
NDK方法必须以Java开头,后面调用NDK方法的Java类全名(package+class),最后才是实际的方法明,各部分之间用下划线分隔
所有的NDK方法的前两个参数类型必须是JNIEnv*env,jobject obj ,JNIEnv标识当前NDK环境的对象指针,可以通过该参数访问NDK中的内置成员,
jobject表示调用当前NDK方法的Java对象,可以用该参数值访问调用当前NDK方法的Java对象成员。
-------------------------------
NDK程序能访问java类成员么?如果可以,应如何做?