这个异常一般是由于JNI的链接器不能正常识别C++的函数名造成的。处理的方法是用exern "C" {},来包裹需要export的C++的native方法。
如果native的方法比较多,可以在头文件中定义宏:
#ifdef __cplusplusextern "C" {#endifJNIEXPORT jint JNICALL Java_com_sample_native_method1 (JNIEnv *, jobject, jobject);JNIEXPORT jint JNICALL Java_com_sample_native_method2 (JNIEnv *, jobject);...#ifdef __cplusplus}#endif
然后在CPP文件中include头文件。