ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 低调看直播体育app软件下载 >> Android开发 >> jni中arm64-v8a,armeabi-v7a,armeabi文件夹的意义和用法

jni中arm64-v8a,armeabi-v7a,armeabi文件夹的意义和用法

来源:网络整理     时间:2016-05-26     关键词:arm,文件夹

本篇文章主要介绍了"jni中arm64-v8a,armeabi-v7a,armeabi文件夹的意义和用法",主要涉及到arm,文件夹方面的内容,对于Android开发感兴趣的同学可以参考一下: jni中arm64-v8a,armeabi-v7a,armeabi文件夹的意义和用法起因之前并没有关注这块,直到:您的应用被拒绝,原因:xplay5sQ心里点击...

jni中arm64-v8a,armeabi-v7a,armeabi文件夹的意义和用法

起因

之前并没有关注这块,直到:您的应用被拒绝,原因:xplay5sQ心里点击笑值点击拍照显示停止运行,查看发过来的日志,发现是java.lang.UnsatisfiedLinkError: dlopen failed: library “/libfacesdk.so” not found ,明明放了该so文件,为什么报错呢?

查xplay5s的cpu,发现是arm64架构的处理器,查看so文件目录,如下:

弄懂这几个文件夹到底是怎么一个顺序先。

兼容和文件读取顺序

arm64-v8a是可以向下兼容的,其下有armeabi-v7a,armeabi
armeabi-v7a向下兼容armeabi

兼容得不够智能:
对于一个cpu是arm64-v8a架构的手机,它运行app时,进入jnilibs去读取库文件时,先看有没有arm64-v8a文件夹:

如果没有该文件夹,去找armeabi-v7a文件夹,如果没有,再去找armeabi文件夹,如果连这个文件夹也没有,就抛出异常
如果有arm64-v8a文件夹,那么就去找特定名称的.so文件,注意:如果没有找到,不会再往下(armeabi-v7a文件夹)找了,而是直接抛出异常

armeabi与armeabi-v7a的区别

armeabi就是针对普通的或旧的arm cpu,armeabi-v7a是针对有浮点运算或高级扩展功能的arm cpu。
android从2.2开始支持armeabi-v7a

早期的Cortex-A系列处理器(A5、A7、A8、A9、A12、A15和A17)基于 ARMv7-A架构。

高通820 四核心ARMv8
三星Exynos 8890 ARM Cortex-A53
麒麟950 四核A72+四核A53

从cpu规格表可以看出,目前市面上主流手机cpu多属于armeabi-v7a。
cpu天梯图和规格表:
http://www.mydrivers.com/zhuanti/tianti/01/
http://www.mydrivers.com/zhuanti/tianti/01/index_other.html

最终修正

所以,从兼容性和性能上考虑,上面的应该改成:

armeabi文件夹,arm64文件夹,arm11文件夹,arm,arm单片机入门,arm培训,arm开发板,arm程序分析与设计,arm开发板哪个好,arm是什么意思,arm处理器,arm架构,arm64,arm嵌入式,arm芯

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介绍了jni中arm64-v8a,armeabi-v7a,armeabi文件夹的意义和用法,包括了arm,文件夹方面的内容,希望对Android开发有兴趣的朋友有所帮助。

    本文网址链接:http://www.codes51.com/article/detail_1319556.html

    相关图片

    相关文章