现在直写在.c文件里实现函数就行了
jstring Java_com_jni_demo_test_helloworld(...)//按类名写好
{
...
}
那有必要再写下面这些内容吗?
JNI_OnLoad,
JNINativeMethod gMethods[] = {...};
static int registerMethods(JNIEnv *env)请高手说明这有什么区别呢?jni

解决方案 »

  1.   

    registerNativeMethods()函数的用途就是:应用层级的Java类别透过VM而呼叫到本地函数。一般是仰赖VM去寻找*.so里的本地函数。如果需要连续呼叫很多次,每次都需要寻找一遍,会多花许多时间。此时,组件开发者可以自行将本地函数向VM进行登记
      

  2.   

    没必要写,
    JNI_OnLoad是在你程序里加载so的时候会自动调用一次