NDK开发(二):java.lang.UnsatisfiedLinkError: Native method not found
2015-01-26 14:03
393 查看
java.lang.UnsatisfiedLinkError: Native method not found 三种可能解决方案
so文件编译生成后,运行时,有时候会遇到java.lang.UnsatisfiedLinkError: Native method not found问题,有可能是以下三种因素:
一、Jni方法头部大小写问题
在C++中,方法名:Java_com_XXX,而不是java_com_XXX。建议直接从生成的.h头文件直接复制方法名到C或者C++文件中。
二、C++文件问题
如果是C++文件(.cpp或者.cc),要使用extern "C" { } 把本地方法括进去。
三、往Jni方法中传值问题
如,调用native方法sendSomeThing(Object object),如果传入的object为null,有可能会报上面错误。
so文件编译生成后,运行时,有时候会遇到java.lang.UnsatisfiedLinkError: Native method not found问题,有可能是以下三种因素:
一、Jni方法头部大小写问题
在C++中,方法名:Java_com_XXX,而不是java_com_XXX。建议直接从生成的.h头文件直接复制方法名到C或者C++文件中。
二、C++文件问题
如果是C++文件(.cpp或者.cc),要使用extern "C" { } 把本地方法括进去。
三、往Jni方法中传值问题
如,调用native方法sendSomeThing(Object object),如果传入的object为null,有可能会报上面错误。
相关文章推荐
- jni开发中遇到的问题3:Caused by: java.lang.UnsatisfiedLinkError: Native method not found
- android 高德地图 java.lang.UnsatisfiedLinkError: Native method not found: com.autonavi.amap.mapcore.MapC
- Android使用百度地图SDK调用百度地图"java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform."
- JNI- java.lang.UnsatisfiedLinkError: Native method not found
- Android之JNI错误:no implementation found in native -java.lang.UnsatisfiedLinkError: Native method not
- Android JNI报错:java.lang.UnsatisfiedLinkError: Native method not found ..........解决办法
- [JNI] java.lang.UnsatisfiedLinkError:Native method not found && no implementation found for native ~
- 关于java.lang.UnsatisfiedLinkError: Native method not found: com.ishow.scan.zbar.ZbarManager.decode:([
- System.err: java.lang.UnsatisfiedLinkError: Native method not found: com.iflytek.msc.MSC.QISESession
- java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.engine.JNIEngine.
- 高德 java.lang.UnsatisfiedLinkError: Native method not found: com.autonavi.amap.mapc
- Android Studio使用百度地图出现 java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.mapapi.Mj.
- java.lang.UnsatisfiedLinkError: Native method not found
- java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.map.basemap.JNIBa
- java.lang.UnsatisfiedLinkError: Native method not found
- java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.map.commonmemcach
- java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.
- java.lang.UnsatisfiedLinkError: Native method not found
- java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.engine.JNIEngine.
- BaiduMap提示 java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.mapapi.Mj.initClass:(L