什么是Android ABI

网友投稿 1994 2022-10-09

什么是Android ABI

什么是Android ABI

什么ABI

ABI就是Application binary interface的意思,即应用程序二进制接口,定义了一套规则。允许编译好的二进制目标代码能在所有兼容该ABI的操作系统中无需改动就能运行。不同的Android手机使用不同的CPU,因此需要提供对应的二进制接口交互规则(即对应的ABI文件)才能进行交互。目前,有部分CPU是能支持多种交互规则,但这是在牺牲性能的前提下所做的兼容。

ABI架构

API架构

说明

armeabiv-v7a

第7代及以上的 ARM 处理器。目前,大部分手机的CPU都支持此ABI交互规则

arm64-v8a

第8代64位ARM处理器,支持此ABI的手机还比较少

armeabi

第5代、第6代的ARM处理器,早期手机用得较多

x86

平板、模拟器用得比较多

x86_64

64位的平板

ABI与CPU的联系

在Android手机上安装一个应用时,只有手机CPU架构支持的ABI架构对应的.so文件会被安装。如果支持多个ABI架构,会按照优先级进行安装。

CPU架构

支持的ABI架构对应的.so文件安装优先级

ARMv5

armeabi

ARMv7

armeabi,armeabi-v7a

ARMv8

armeabi,armeabi-v7a,arm64-v8a

MIPS

mips

MIPS64

mips,mips64

x86

x86,armeabi,armeabi-v7a

x86_64

:armeabi,x86,x86_64

CPU大都是向前兼容的,但是会按优先级来选择ABI。如x86架构的CPU会优先选择x86目录下的.so包,当不存在时,才会选择armeabi-v7a目录下的.so包,如果仍然不存在,最后才会选择armeabi目录下的.so文件。 注:x86设备运行armeabi下的so库时会损失性能。

谢谢阅读。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:WxComment- 微信小程序评论插件(comment)
下一篇:maven grpc整合springboot demo
相关文章

 发表评论

暂时没有评论,来抢沙发吧~