Android 调用.so包时报错:UnsatisfiedLinkError: No implementation found for XXX 时的解决办法
环境
Android Studio 3.5
问题描述
使用可以正常运行的Demo中的module, 其中调用了第三方so文件。运行报错:
java.lang.UnsatisfiedLinkError: No implementation found for...
调试表明没有调用到System.loadLibrary("***");
问题分析
网上搜索解决方法,首先排除与Demo调用方式一致,其次排除so文件中确定有对应native方法的实现,其次排除了文件夹名与so文件中native方法的声明一致。
没有有效方法情况下,只能使用最笨的一招:与Demo进行文件比对。
因为Demo非常简单,在调用方式一致情况下,高度怀疑 Project 和 Module 的构建文件的差异是原因。
问题解决
在Project的build.gradle文件中发现了差异。新建项目使用的是最新的 3.5.3 版本的gradle, Demo中使用的是 3.3.2 版本的 gradle。改为3.3.2 版本后再编译,问题解决。
//TODO 有时间再调试看看产生这个问题的根源在哪
编辑记录
201912 发布
Android 调用.so包时报错:UnsatisfiedLinkError: No implementation found for XXX 时的解决办法相关推荐
- STEP 7-MicroWIN SMART软件在打开时报错“软件停止”以及界面显示“???”的解决办法
STEP 7-MicroWIN SMART软件在打开时报错"软件停止"以及界面显示"???"的解决办法 在一些盗版或GHOST WIN7 32或64位操作系统, ...
- Docker发布镜像时报错denied: requested access to the resource is denied解决办法
当docker push时报如下错误: denied: requested access to the resource is denied 存在两种可能性: 1. docker未登录 解决方法:do ...
- php.ini 延迟,php超时报错Maximum execution time of 120 seconds exceeded in解决办法
PHP脚本报错:Maximum execution time of 120 seconds exceeded in 这里的120秒,不定,系统默认是30秒,意思就是说在120秒内PHP脚本执行超时了. ...
- Tomcat执行shutdown时报错:java.net.ConnectException: Connection refused (Connection refused)解决办法
部署完毕启动tomcat后用浏览器访问,发现没有反应,执行shutdown.sh命令时报如下错误:java.net.ConnectException: Connection refused (Conn ...
- npm 运行时报错“因为在此系统上禁止运行脚本”解决办法
在控制台运行npm指令时遇到如下报错信息:"因为在此系统上禁止运行脚本" npm : 无法加载文件 C:\Users\Pathliu\software\nodejs\npm.ps1 ...
- SpringBoot启动报错:Failed to introspect Class [XXX] from ClassLoader解决办法
Failed to introspect Class [XXX] from ClassLoader 今天做项目引入一个maven之后项目启动报错,很是无奈.碰到这种引入jar包导致的启动问题很可能是就 ...
- Android 调用JNI出错 java.lang.UnsatisfiedLinkError: No implementation found for
主要原因就是包名不一致,自己在编译libmupdf.so 文件时Mupdf android项目中jni/mupdf.c文件里面的包名是 项目中是com.artifex.mupdf 这是最简单的解释方法 ...
- 【我的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 ...
- Intel Realsense D435 开始运行启动时报错:RuntimeError: Couldn't resolve requests 原因及解决办法
摄像头有时候在启动时会报错,错误信息: D:\20191031_tensorflow_yolov3\python\python.exe D:/20191031_tensorflow_yolov3/te ...
最新文章
- Tomcat中的字体请求跨域问题解决
- boost::geometry::box_view用法的测试程序
- SAP Spartacus Tag Management System TMS 介绍
- 如何处理postman Self-signed SSL certificate blocked错误
- 多功能节点连线绘图控件Nevron Diagram for .NET使用方法及下载地址
- Git---命令行语法
- 减少浏览器的兼容性问题
- 2020年使用最多的大数据分析工具
- Linux下添加删除查看用户操作
- HTML5程序设计 SVG
- jdbc、jpa、spring data jpa、hibernate、mybatis之间的关系及区别
- Windows python2.7虚拟环境下的PyV8安装
- 【ENVI】监督分类
- M1 Macbook崩溃了怎么办?
- 计算机中的right函数,excel的right函数的使用教程
- kmeans python interation flag_机器学习经典算法-logistic回归代码详解
- JavaSE学习总结第01天_Java概述
- Windows 2000/xp/2003 常用补丁下载
- 01【股票初级】-【找准入场时机】投资五大流派,好公司投资法,判断单只股票是否便宜?如何找准时机入场?
- rtx2060相当于gtx多少 rtx2060属于什么档次的显卡 rtx2060显卡怎么样