解决导入so库报错小结

Posted 傻瓶子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决导入so库报错小结相关的知识,希望对你有一定的参考价值。

最近公司准备将重构后的项目上线,可是等到我接手的时候发现一个很纠结的问题:安卓5.0以上的手机(例如我现在在用的红米note3)运行重构后项目发生报错,提示缺少某so库。

 

而5.0以下的手机(我的小米3)能够很好的运行。为了解决这个很严重的bug(项目经理拎着耳朵说道),只好爬上google搜索解决方案。没办法,小白不懂。

刚开始因为错误代码提示搜索不到相关的so库,心里想着缺啥我补啥呗。就直接把相关的库文件直接复制到libs里面,尝试运行,发现继续提示同样的问题。想了半天,忽然想起来是不是gradle里面少写了啥?果然,gradle里面只写了这个。

因为gradle不是很熟练,在网上查询到的结果需要写成这样

一头冷汗,按照找到的办法如上修改,继续试着运行。可是这回不仅5.0以下手机也运行不了,而且还提示缺少一个新的so库文件。看来这个办法不可以,只好一切还原,继续寻找其他办法。

在朋友的提示下,忽然发现scr下面有个\'jniLibs\'的目录,好奇会不会是因为这个里面的原因?重新在网上找资料问朋友,看看是否有相关内容。在一个\'老司机\'的讲解下才反应过来原因正是出在这里。因为我的红米note3的cpu架构是64位的,会自动加载arm-7a的so库。如果项目里面有arm64的文件夹,在打包运行时就不会自动找arm-v7了。所以,删掉就好。

 

以上是关于解决导入so库报错小结的主要内容,如果未能解决你的问题,请参考以下文章

Python使用fitz库报错运行异常解决办法

使用pip安装第三方库报错记录

解决pycharm安装python库报错问题

jni/ndk问题 :引用so库报错: java.lang.UnsatisfiedLinkError: No implementation found for

python安装库报错Microsoft visual c++ 14.0 is required问题解决办法

使用mysqldump 备份 恢复从库报错解决方案(ERROR 1872)