java.lang.UnsatisfiedLinkError: No implementation found for异常解决方法

一天内遇到两次这个错误,被折磨一整天,关键是报错的原因还不一样,网上没有找到相关的解决方案,在此记录一下,分享给遇到同样错误的同胞。

报错的原因

报这个错的原因猜测是因为没有找到so库,有时候我们再导入jar包的时候,可能还需要导入对应的so库。那么报这个错原因会有两个。

  1. so文件没有导入,或者位置没放对,导致jar包没有找到这个so文件,就会报错。
  2. so文件没有加载,这个问题很少遇见,因为在使用jar包时,jar中一般都会做初始化,但是也会遇到奇葩的情况,需要自己初始化。

1. SO库没有导入

一般jar包的位置是放置到libs下,so文件放在app\src\main\jniLibs目录下,如果没有jniLibs则自行创建。其实so文件也是可以放在libs目录下的,不过要再对应model下build.gradle中加入以下代码:

    sourceSets {main {jniLibs.srcDirs = ['libs']}}

如果你是将so文件放在jniLibs目录下了,那么则必须删除以上代码,否则还是会找不到so文件。
还有一种情况,这个是最骚的,那就是你以上步骤都是对的,但是还是找不到so文件,那么恭喜你,这也许不是你的错……
都是他的错——Android Studio缓存的错,既然知道是缓存的错,那就简单了,把缓存删了就OK了

第一步:关闭AS
第二步:打开项目所在的目录将项目下的.gradle、.idea、gradle三个文件删了
第三步:将所需要的的jar包和so库都直接在文件中重新加入一遍。
第四步:启动AS,启动项目,如果出现一个弹窗提示,不要慌,这是因为把gradle给删了,提示你是否重新创建,点OK就行,别点cancle,否则后面需要你自己创建了,我就帮不到你了。
第五步:没了。

2. so文件没有加载

除了上面的一种情况外,还会出现一种情况,就是因为so库没有初始化。一些jar包只提供了对应so文件,但内部并没有初始化,需要自己初始化o((⊙﹏⊙))o。看来我还是太年轻了。那么怎么解决呢,直接上代码:
Application.class

    static {// 十级警告: libname不一定是so库的名字,至于是什么,这个可能需要找给你so库的人问了。System.loadLibrary("usb1.0");System.loadLibrary("serial_icod");System.loadLibrary("image_icod");}

嗯,没了,不用担心,这次真的完结了。
以上就是我遇到的,如果没能还是没能解决你的问题,那没办法了╮(╯▽╰)╭。
新增:
还有一种可能,框架下的文件不统一,比如我的jniLibs文件下,只有一个armeabi-v7a,那么他支持在这个框架下的系统使用,如果你还用到了armeabi或arm64-v8a等多个框架,那么你最好保证所有支持的框架下的so库齐全,如果没有,则粘贴一个其他框架下的包。

Android问题:java.lang.UnsatisfiedLinkError: No implementation found for异常解决方法相关推荐

  1. 【我的Android进阶之旅】Android调用JNI出错 java.lang.UnsatisfiedLinkError: No implementation found for的解决方法

    一.错误描述 今天使用第三方的so库时候,调用JNI方法时出现了错误.报错如下所示: 11-01 16:39:20.979 4669-4669/com.netease.xtc.cloudmusic E ...

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

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

  3. java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher异常解决方法

    最近在做web项目时用到JSONObject,Eclipse编译未报错,但执行JSONObject jsonObject = new JSONObject()时却报java.lang.NoClassD ...

  4. 【java.lang.OutOfMemoryError:GC overhead limit exceeded异常解决方法】

    问题描述 由于同时启动了多个项目,导致电脑蓝屏重启,重启后idea启动项目,提示系统资源不足,和Information:java: java.lang.OutOfMemoryError: GC ove ...

  5. 【异常】java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher异常解决方法

    今天在做web项目时用到JSONObject,用的是MyEclipse自动导入的struts2的lib,其中自带了json-lib-2.1-jdk15.jar. 在struts2的action中已经导 ...

  6. 关于java.lang.OutOfMemoryError:GC overhead limit exceeded异常解决方法

    目录 引言:遇到这种问题就是栈溢出的问题,内存不够,项目太大,导致下载整个项目的依赖时间过长 一.解决办法: 1.file---->settings---->builds,Executio ...

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

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

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

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

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

最新文章

  1. 2021年大数据常用语言Scala(十一):基础语法学习 方法参数
  2. 013PHP文件处理——filemtime filectime fileatime date_default_timezone_set touch
  3. java thread isalive_Java线程编程中isAlive()和join()的使用详解
  4. python开发实践教程_Python开发实践教程
  5. Dev C++安装第三方库boost
  6. ThinkPHP导出CSV、Excel
  7. pubmed 影响因子_如何在Pubmed利用影响因子筛选文献?
  8. I/O设备与主机的联系方式
  9. C语言进制转换以及原补反码位运算介绍
  10. 打印机出现另存为xps_win7系统打印文件时弹出另存为xps/pdf的解决方法
  11. AR - 增强现实技术(AR)的103个应用场景汇总
  12. keil优化等级影响STM32 GPIO速度变化
  13. Error: Couldn‘t find preset “stage-2“ relative to directory
  14. Flutter 上字体的另类玩法:FontFeature
  15. GUI自动化 - 识图定位
  16. 杨绛:越是难熬的时候,人越要体面
  17. 嘿!快跟C菌一起来看看这周都更新了些啥
  18. linux svn e170001,jenkins - svn: E170001报错的原因以及解决方案
  19. Java零基础小白的福利来了!!高淇老师带你飞~
  20. 班章管家正规可靠20万存定时5年合算吗?3年期比照5年期哪个好?

热门文章

  1. Java API 1.8 中文版 免费下载
  2. 飞机黑匣子的数据要读取多久?
  3. 嵌入式系统基础概念(一)二进制和十六进制
  4. 求2的n次方对1e9+7的模
  5. 霍夫变换概论(浅显易懂)
  6. 快手四面(技术3面+HR面)已拿意向书,分享面经
  7. lilo是什么意思_LILO LILO的意思解释|LILO是什么意思 -我酷百科
  8. neutron之DVR(distributed virtual router)学习笔记
  9. 来聊聊HTML邮件吧!
  10. 银行卡号判断api php,PHP实现根据银行卡号判断银行