Preface: In the early days, the Android system almost only supported the ARMv5 CPU architecture, but now the Android platform supports 7 different CPU architectures, namely ARMv5, ARMv7 (from 2010), x86 (from 2011), MIPS (from 2012), ARMv8, MIPS64 and x86_64 (from 2014), each of which is associated with a corresponding ABI (Application). Binary Interface)。 The Application Binary Interface defines how binaries (especially .so files) run on the corresponding system platform, from the instruction set used, memory aligned to the available system function libraries. On Android, each CPU architecture corresponds to an ABI: armeabi, armeabi-v7a, x86, mips, arm64-v8a, mips64, x86_64.
X86 series export ANDROID_ABI=x86
ARM's Cortex-A8 or Cortex-A9 series export ANDROID_ABI=armeabi-v7a (Note: armeabi-v7a is for ARM CPUs with floating-point operations or advanced extensions)
ARMv6 export ANDROID_ABI=Armeabi (Note: Armeabi is for normal or old Arm CPUs)
ARMv6 does not come with FPU export ANDROID_ABI=armeabi export NO_FPU=1
ARMv5 or Emulator export ANDROID_ABI=armeabi export NO_ARMV6=1
MIPS series export ANDROID_ABI=mips
1. About the ARM (Advanced RISC Machine) architecture It is a 32-bit RISC (Reduced Instruction Set Computing) processor architecture that is widely used in many embedded system designs. However, there are also many achievements in other fields, due to the characteristics of energy saving, ARM processors are very suitable for the field of mobile communications, matching its main design goals of low cost, high performance, and low power consumption. ARM's advantage is not in powerful performance but in efficiency, ARM uses the RISC pipeline instruction set, which is at a disadvantage in completing comprehensive work, and its advantages can be fully played in some applications with relatively fixed tasks. ARM structure computers connect the CPU with data storage devices through a dedicated data interface, so it is difficult to expand the performance of ARM storage and memory (generally the capacity of memory and data storage has been determined in the product design), so the system using ARM structure generally does not consider expansion. The principle of "enough is good" is basically pursued. 2. About x86 architecture It is a complex instruction set CISC (Complex Instruction Set Computer) processor architecture. X86 computers are much faster and stronger in terms of performance than ARM-based systems anyway. The CPU of X86 is more than 1G, dual-core, and quad-core. X86 structure computers use the "bridge" method to connect with expansion devices (such as: hard disks, memory, etc.), and x86 structure computers have appeared for nearly 30 years, and their supporting expansion devices are many types and the price is relatively cheap, so x86 structure computers can easily expand performance, such as increasing memory, hard disks, etc. |