关于android某些手机java.lang.UnsatisfiedLinkError: No implementation found for ......的问题
最近手上的一个项目,用了很多第三方库,也有一些调用C++库的内容。
过程当中遇到了java.lang.UnsatisfiedLinkError这样的问题。之前没有遇到过,而且是部分手机的问题,耗费了一些时间来查询和解决。
多余的话不说了,以下是原因和解决方法。
原因:
报这样的错,百度一下,都是说是不能加载底层方法导致的。但是开发者会说,底层包是有这样的方法的。
到底是什么原因导致的呢,不妨我们这样来做:打个apk包,把后缀改成zip或其他,打开这个压缩文件,找到lib文件夹,(如图)
进入文件夹可以看到以下文件夹(如图)
(不一定和我完全一致)。
检查这些文件夹下的文件是否一致(每个文件夹下的文件数量和文件名称应该是一样的),对比会发现文件肯定或多或少,这就是UnsatisfiedLinkError的原因。
为什么有的手机可以有的手机不可以呢?因为手机cup的芯片不一样。
如果是arm64-v8a的芯片,android就加载arm64-v8a文件夹下的so文件,以此类推。
解决方法:
所以这个地方jniLibs下的文件夹下一定要保持一致,不然编译apk包之后各个型号文件夹下的文件会不一致(如图),
。
就拿我目前这个项目来说吧,引用了太多的第三方,整个项目包括第三方的module,所有的jniLibs都要保持一致
(这就是我之前报错的原因,这些文件夹没有保持一致)最终我做了一些删减,只保留了最少的也就是armeabi和armeabi-v7a两个文件夹,问题解决。高版本的cup芯片会向下兼容。
当然了,有些开发者会说需求需要其他版本的包怎么办。那就让第三方so文件提供者,编译出对应的版本,从而解决问题。
最后,说一些这些文件夹是什么含义。
这些都是android设备的cup类型:
armeabiv-v7a: 第7代及以上的ARM处理器;
arm64-v8a: 第8代、64位ARM处理器;
armeabi: 第5代、第6代的ARM处理器;
mips:一种RISC处理器。
mips64:64位的。
x86: 平板;
x86_64:64位的平板。
当然了具体深入的意义,请读者自行谷歌。
关于android某些手机java.lang.UnsatisfiedLinkError: No implementation found for ......的问题相关推荐
- Android问题:java.lang.UnsatisfiedLinkError: No implementation found for异常解决方法
java.lang.UnsatisfiedLinkError: No implementation found for异常解决方法 一天内遇到两次这个错误,被折磨一整天,关键是报错的原因还不一样,网上 ...
- [ Android实战 ] java.lang.UnsatisfiedLinkError: No implementation found for xxx 问题解决
[ Android实战 ] java.lang.UnsatisfiedLinkError: No implementation found for xxx 问题解决 背景 日志分析 解决问题 总结 尊 ...
- Android解决调用JNI报java.lang.UnsatisfiedLinkError: No implementation found for的错误
最近公司项目需求接入即时通讯功能,现在第三方的即时通讯做的比较完善,接入也很方便.最近在调试语音的时候遇到了一个.so库加载失败的问题,在网上查看都是说由于原有项目的so库和新添加的model的so库 ...
- Caused by: java.lang.UnsatisfiedLinkError: No implementation found for void com.geoway.mobile.utils
最近一个项目中依赖: compile 'com.github.barteksc:android-pdf-viewer:2.7.0-beta.1',但是由于还使用了其他的SDK,当运行的时候就出现了这个 ...
- so调用报错 java.lang.UnsatisfiedLinkError: No implementation found for ...
最近在做一个NDK的Android项目,需要将cpp代码打包生成so库. 为了方便,直接将之前的一个项目拿过来,将cpp代码拷贝进来,修改了Android.mk文件,ndk-build成功生成so库. ...
- 解决:java.lang.UnsatisfiedLinkError: No implementation found
#报错如下 在集成腾讯云的sdk的时候,报下面的错 java.lang.UnsatisfiedLinkError: No implementation found for int[] com.tenc ...
- 17、java.lang.UnsatisfiedLinkError: No implementation 处理方法
一.问题现象 在使用第三方生成的 so 库时,遇到下面的bug: UnsatisfiedLinkError: No implementation found for java.lang.Unsatis ...
- Android之解决java.lang.UnsatisfiedLinkError: dlopen failed: ××××.so: has text relocations
1.问题 项目导入别人的so,有个项目没问题,但是这个有问题,运行提示这个错误 java.lang.UnsatisfiedLinkError: dlopen failed: ××××.so: has ...
- Android之运行Java.lang.UnsatisfiedLinkError的错误解决办法
1.问题 部分手机运行的时候在jni层出现这个错误,导致手机崩溃 Java.lang.UnsatisfiedLinkError 2.解决办法 是因为在我是这样写的 static {System.loa ...
最新文章
- DNS域名解析优化之tinydns/djbdns篇——测试篇
- Transformer再度出手!low-level多个任务榜首被占领,
- 八十九、Python的GUI系列 | 使用PyQt5 快速构建一个GUI 应用
- 把日志文件从Linux服务器拷贝到Windows上
- add()方法和Put()方法的差别
- 最经典的职场十大理论,好文值得一看滴童鞋们。2
- 【JS 笔记】比较操作符之大小与记录
- 《深入理解Java虚拟机》第1,2章
- python判断回文_Python实现判断一个整数是否为回文数算法示例
- js调整数组某些元素到指定位置顺序_如何在JS数组特定索引处指定位置插入元素?...
- mac使用的文章合集 alfred利器
- Spark时间格式转换
- 浏览器扩展插件:「油猴」使用详解 ( Tampermonkey )
- Linux查看服务器硬件网卡cpu型号内存BIOS、主板型号信息
- 全球顶级的14位程序员!膜拜!
- portalv15安装 tia_TIA PORTAL V15安装顺序-工业支持中心-西门子中国
- cml sml区别_cml和sml的区别
- 【百宝云】按键精灵软件注册码系统
- InfoPath,你不需要吗?
- Mysql全面总结(看这一篇就够了)
热门文章
- 云原生之 Ansible 篇(一)
- 数据结构与算法——红黑树(Red Black Tree)
- 特征函数(characteristic function)
- 维基百科著名程序员列表大全
- 手机无线如何共享给台式计算机,教你用手机做热点分享wifi给台式电脑用,不是用数据网络哦...
- Java—mysql缓存导致查询结果与数据库不一致
- 如何用Python画出玫瑰曲线和蝴蝶曲线
- matlab dx dy dt,y/(y^2+1)dy=dx/(x^2-1)
- 群发“站内信”的实现
- 微信小程序中层叠轮播图(仿微信朋友圈swiper样式)