最近手上的一个项目,用了很多第三方库,也有一些调用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 ......的问题相关推荐

  1. Android问题:java.lang.UnsatisfiedLinkError: No implementation found for异常解决方法

    java.lang.UnsatisfiedLinkError: No implementation found for异常解决方法 一天内遇到两次这个错误,被折磨一整天,关键是报错的原因还不一样,网上 ...

  2. [ Android实战 ] java.lang.UnsatisfiedLinkError: No implementation found for xxx 问题解决

    [ Android实战 ] java.lang.UnsatisfiedLinkError: No implementation found for xxx 问题解决 背景 日志分析 解决问题 总结 尊 ...

  3. Android解决调用JNI报java.lang.UnsatisfiedLinkError: No implementation found for的错误

    最近公司项目需求接入即时通讯功能,现在第三方的即时通讯做的比较完善,接入也很方便.最近在调试语音的时候遇到了一个.so库加载失败的问题,在网上查看都是说由于原有项目的so库和新添加的model的so库 ...

  4. 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,当运行的时候就出现了这个 ...

  5. so调用报错 java.lang.UnsatisfiedLinkError: No implementation found for ...

    最近在做一个NDK的Android项目,需要将cpp代码打包生成so库. 为了方便,直接将之前的一个项目拿过来,将cpp代码拷贝进来,修改了Android.mk文件,ndk-build成功生成so库. ...

  6. 解决:java.lang.UnsatisfiedLinkError: No implementation found

    #报错如下 在集成腾讯云的sdk的时候,报下面的错 java.lang.UnsatisfiedLinkError: No implementation found for int[] com.tenc ...

  7. 17、java.lang.UnsatisfiedLinkError: No implementation 处理方法

    一.问题现象 在使用第三方生成的 so 库时,遇到下面的bug: UnsatisfiedLinkError: No implementation found for java.lang.Unsatis ...

  8. Android之解决java.lang.UnsatisfiedLinkError: dlopen failed: ××××.so: has text relocations

    1.问题 项目导入别人的so,有个项目没问题,但是这个有问题,运行提示这个错误 java.lang.UnsatisfiedLinkError: dlopen failed: ××××.so: has ...

  9. Android之运行Java.lang.UnsatisfiedLinkError的错误解决办法

    1.问题 部分手机运行的时候在jni层出现这个错误,导致手机崩溃 Java.lang.UnsatisfiedLinkError 2.解决办法 是因为在我是这样写的 static {System.loa ...

最新文章

  1. DNS域名解析优化之tinydns/djbdns篇——测试篇
  2. Transformer再度出手!low-level多个任务榜首被占领,
  3. 八十九、Python的GUI系列 | 使用PyQt5 快速构建一个GUI 应用
  4. 把日志文件从Linux服务器拷贝到Windows上
  5. add()方法和Put()方法的差别
  6. 最经典的职场十大理论,好文值得一看滴童鞋们。2
  7. 【JS 笔记】比较操作符之大小与记录
  8. 《深入理解Java虚拟机》第1,2章
  9. python判断回文_Python实现判断一个整数是否为回文数算法示例
  10. js调整数组某些元素到指定位置顺序_如何在JS数组特定索引处指定位置插入元素?...
  11. mac使用的文章合集 alfred利器
  12. Spark时间格式转换
  13. 浏览器扩展插件:「油猴」使用详解 ( Tampermonkey )
  14. Linux查看服务器硬件网卡cpu型号内存BIOS、主板型号信息
  15. 全球顶级的14位程序员!膜拜!
  16. portalv15安装 tia_TIA PORTAL V15安装顺序-工业支持中心-西门子中国
  17. cml sml区别_cml和sml的区别
  18. 【百宝云】按键精灵软件注册码系统
  19. InfoPath,你不需要吗?
  20. Mysql全面总结(看这一篇就够了)

热门文章

  1. 云原生之 Ansible 篇(一)
  2. 数据结构与算法——红黑树(Red Black Tree)
  3. 特征函数(characteristic function)
  4. 维基百科著名程序员列表大全
  5. 手机无线如何共享给台式计算机,教你用手机做热点分享wifi给台式电脑用,不是用数据网络哦...
  6. Java—mysql缓存导致查询结果与数据库不一致
  7. 如何用Python画出玫瑰曲线和蝴蝶曲线
  8. matlab dx dy dt,y/(y^2+1)dy=dx/(x^2-1)
  9. 群发“站内信”的实现
  10. 微信小程序中层叠轮播图(仿微信朋友圈swiper样式)