java.lang.UnsatisfiedLinkError: Native method not found
2013-12-17 16:37
471 查看
参考自:http://blog.csdn.net/lilu_leo/article/details/10950047
http://www.eoeandroid.com/thread-60793-1-1.html
出现该错误的有以下可能性:
1.java文件里面没有载入so库
static
{
System.loadLibrary("XXX");
}
2.Jni方法头部大小写问题
在C++中,方法名:Java_com_XXX,而不是java_com_XXX。建议直接从生成的.h头文件直接复制方法名到C或者C++文件中。
3.C++文件问题
如果是C++文件(.cpp或者.cc),要使用extern "C" { } 把本地方法括进去
4.往Jni方法中传值问题
如,调用native方法sendSomeThing(Object object),如果传入的object为null,有可能会报上面错误
5.编译顺序不正确
正常的操作顺序是 1
编辑c文件2 make生成so文件3 编译java文件
错误做法:先在java中添加了native方法,(这时候Eclipse给自动编译了)然后才编辑c,make,结果导致新版本的so文件没有编译进去
http://www.eoeandroid.com/thread-60793-1-1.html
出现该错误的有以下可能性:
1.java文件里面没有载入so库
static
{
System.loadLibrary("XXX");
}
2.Jni方法头部大小写问题
在C++中,方法名:Java_com_XXX,而不是java_com_XXX。建议直接从生成的.h头文件直接复制方法名到C或者C++文件中。
3.C++文件问题
如果是C++文件(.cpp或者.cc),要使用extern "C" { } 把本地方法括进去
4.往Jni方法中传值问题
如,调用native方法sendSomeThing(Object object),如果传入的object为null,有可能会报上面错误
5.编译顺序不正确
正常的操作顺序是 1
编辑c文件2 make生成so文件3 编译java文件
错误做法:先在java中添加了native方法,(这时候Eclipse给自动编译了)然后才编辑c,make,结果导致新版本的so文件没有编译进去
相关文章推荐
- System.err: java.lang.UnsatisfiedLinkError: Native method not found: com.iflytek.msc.MSC.QISESession
- Android JNI报错:java.lang.UnsatisfiedLinkError: Native method not found ..........解决办法
- 关于java.lang.UnsatisfiedLinkError: Native method not found: com.ishow.scan.zbar.ZbarManager.decode:([
- java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.map.commonmemcach
- android 高德地图 java.lang.UnsatisfiedLinkError: Native method not found: com.autonavi.amap.mapcore.MapC
- jni开发中遇到的问题3:Caused by: java.lang.UnsatisfiedLinkError: Native method not found
- java.lang.UnsatisfiedLinkError: Native method not found
- Android之JNI错误:no implementation found in native -java.lang.UnsatisfiedLinkError: Native method not
- java.lang.UnsatisfiedLinkError: Native method not found
- JNI- java.lang.UnsatisfiedLinkError: Native method not found
- java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.map.basemap.JNIBa
- [JNI] java.lang.UnsatisfiedLinkError:Native method not found && no implementation found for native ~
- NDK开发(二):java.lang.UnsatisfiedLinkError: Native method not found
- 高德 java.lang.UnsatisfiedLinkError: Native method not found: com.autonavi.amap.mapc
- BaiduMap提示 java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.mapapi.Mj.initClass:(L
- Android使用百度地图SDK调用百度地图"java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform."
- java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.
- java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.engine.JNIEngine.
- java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.engine.JNIEngine.
- Android Studio使用百度地图出现 java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.mapapi.Mj.