android通过Jni加载so库遇到UnsatisfiedLinkError问题!!!
来源:互联网 发布:天天生鲜项目源码 编辑:程序博客网 时间:2024/05/18 01:18
终于解决了困扰我半个世纪的难题,记录下:
我的项目中使用了别人的so类,已经打包好了,且只有armeabi这一种。按说应该是兼容性最好的了,但是问题偏偏出现了!!!
一旦加载so时就会报错java.lang.UnsatisfiedLinkError ,各种千百度和google只有和我类似,从没有和我一样的情况。从出现这个问题 到现在解决 中间省略可以绕地球一圈的文字。。。
so库交叉编译时 可选arm,x86,mips三种架构,者三种结构还有32位于64位之分。
百度得知其中有个坑:
如果你的项目中有arm64-v8a,当你的app在64位arm架构的cpu手机上运行时,只会从arm64-v8a找so库,找不到就报错,不会再去armeabi-v7a和armeabi里去再找。
如果没有arm64-v8a文件夹的话,会从armeabi-v7a找,找不到就去armeabi找。都找不到才报错。
但是!!!经过N次报错后,,,
我发现手机只会根据cpu找对应文件夹下的so加载,没有就特么的直接报错,根本不会重新去别的文件夹下找!!!!(我怀疑可能eclipse和android studio编译的原因,或者新版安卓系统加载so库的策略改变了)
最后我的解决办法是:新建armeabi,armeabi-v7a,arm64-v8a,arm-v8a,然后在四个文件夹内 分别拷贝一份so库放入。
1 0
- android通过Jni加载so库遇到UnsatisfiedLinkError问题!!!
- Android 加载 SO 库 UnsatisfiedLinkError 错误的原因及解决方案
- 解决Android加载so库失败:java.lang.UnsatisfiedLinkError
- Android jni库加载错误:java.lang.UnsatisfiedLinkError
- Android Eclipse JNI 调用 .so文件加载问题
- Android Eclipse JNI 调用 .so文件加载问题
- Android Eclipse JNI 调用 .so文件加载问题
- Android Eclipse JNI 调用 .so文件加载问题
- Android Eclipse JNI 调用 .so文件加载问题
- android java.lang.UnsatisfiedLinkError: Native method not found及.so找不到无法加载问题
- android so 库加载问题
- Android Studio 加载.so文件报错java.lang.UnsatisfiedLinkError
- Android studio java.lang.UnsatisfiedLinkError加载.so文件失败解决办法
- 在tomcat下使用jni加载本地库的问题总结 处理UnsatisfiedLinkError错误
- Android studio通过JNI调用动态链接库SO
- Android Jni调用so库,加载库失败分析
- android加载so问题
- android加载so问题
- 关于内核要用的网站
- Easyui_datebox验证-开始日期小于结束日期
- 怎样利用控制台cmd生成后缀为csv的文件
- HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包模版题)
- POST请求demo
- android通过Jni加载so库遇到UnsatisfiedLinkError问题!!!
- 人工智能动态整理
- BFS_1
- C++STL之set容器
- 文本复制后自动实现跳转的js代码
- strncpy函数学习
- ByteBuffer的Put和Get的用法和要注意的细节
- block(块级元素)和 inline(内联元素) 的区别
- TestFlight,app正式上线之前的测试环节。