這個異常一般是由於JNI的鏈接器不能正常識別C++的函數名造成的。處理的方法是用exern "C" {},來包裹需要export的C++的native方法。
如果native的方法比較多,可以在頭文件中定義宏:
#ifdef __cplusplus
extern "C" {
#endif
JNIEXPORT 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頭文件。
