关于CPU架构
CPU有MIPS、ARM、X86三大架构。其中包括:
1、armeabi系列:属于ARM (A7、A9、A15、A53、A57) 包含:高通、麒麟(华为海思)、澎湃(小米)、联发科、猎户座(三星Exynos)
2、mips系列:属于MIPS ,多用在网关、猫、机顶盒等。代表:中国“龙芯”
3、x86系列:pc模拟器、Intel Atom系列处理器(英特尔放弃应用于手机、PC、平板以及可穿戴设备的Atom处理器)
Android系统目前支持以下七种不同的CPU架构:ARMv5,ARMv7 (从2010年起),x86 (从2011年起),MIPS (从2012年起),ARMv8,MIPS64和x86_64 (从2014年起)。可以用命令cat /proc/cpuinfo查看手机CPU信息。
关于ABI
Android系统目前支持以下七种不同的ABI:armeabi,armeabi-v7a,x86,mips,arm64-v8a,mips64,x86_64。应用程序二进制接口(Application Binary Interface即ABI)定义了二进制文件(尤其是.so文件)如何运行在相应的系统平台上,从使用的指令集,内存对齐到可用的系统函数库。
CPU架构与ABI的关系
在Android系统上,每一个CPU架构对应一个ABI,我们可以简单的理解为:
一种CPU架构 = 一种对应的ABI类型 = 一种对应类型的SO库
CPU架构与ABI的对应关系如下表所示:
CPU架构 | 对应ABI | 厂商 | 位数 | 开始时间 | SUPPORTED_ABIS | 适用设备 |
---|---|---|---|---|---|---|
ARMv5 | armeabi | AMR | 32 | 2010以前 | armeabi | 早期的手机用的比较多 |
ARMv7 | armeabi-v7a | AMR | 32 | 2010 | armeabi-v7a,armeabi | 2011年12月以后生产的大部分Android设备都使用它 |
x86 | x86 | Intel | 32 | 2011 | x86,armeabi-v7a,armeabi | 平板、模拟器用得比较多 |
MIPS | mips | MIPS | 32 | 2012 | 极少用于手机,忽略 | 极少用于手机,多用于网关、猫,可以忽略 |
ARMv8 | arm64-v8a | AMR | 64 | 2014 | arm64-v |