错误方式:
包名com.test.hello
类名Hello
函数名:public static native String Get_Name();//主要是下划线导致的问题
使用JavaH 生成的ni函数名:Java_com_test_hello_Hello_Get_Name();
然后在java中调用改函数回导致:native method not found错误。
正确方式:
函数名:public static native String GetName();//去掉下划线
使用JavaH 生成的ni函数名:Java_com_test_hello_Hello_GetName();
然后在java中调用改函数会正常执行。
原因是NDK根据下划线分割报名、类名、函数名。
Java_com_test_hello_Hello_Get_Name();这个NDK会划分为包名:com.test.hello.Hello,类名Get,函数名:Name。