android native開發時:java.lang.UnsatisfiedLinkError: Native method not found的處理


這個異常一般是由於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頭文件。  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM