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