armeabi、armeabi-v7a、arm64-v8a区别

应用程序二进制接口(Application Binary Interface)定义了二进制文件(尤其是.so文件)如何运行在相应的系统平台上,从使用的指令集,内存对齐到可用的系统函数库。在Android 系统上,每一个CPU架构对应一个ABI:armeabi,armeabi-v7a,x86,mips,arm64- v8a,mips64,x86_64。

不同的Android手机使用不同的CPU,而不同的 CPU 支持不同的指令集,CPU 与指令集的每种组合都有专属的应用二进制接口,即 ABI(Application Binary Interface)。

armeabi

armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。
armeabi就是针对普通的或旧的arm v5 cpu

默认选项,将创建以基于 ARM v5TE 的设备为目标的库。 具有这种目标的浮点运算使用软件浮点运算。 使用此 ABI 创建的二进制代码将可以在所有 ARM 设备上运行。

armeabi-v7a

armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它。
armeabi-v7a是针对有浮点运算或高级扩展功能的arm v7 cpu

创建支持基于 ARM v7 的设备的库,并将使用硬件 FPU 指令。

arm64-v8a

第8代、64位ARM处理器,三星 Galaxy S6是其中之一。

参考:
Android 中arm64-v8a、armeabi-v7a、armeabi、x86简介~
ARMv8-a架构简介
一分钟搞明白Android的.so文件、ABI和CPU的关系
Android中ABI和CPU的关系

你可能感兴趣的:(Android,android)