Android ABI

在Eclipse或者Android Studio的project\app\src\main\jniLibs\经常可以看到下面这样的部分
Android ABI_第1张图片
不禁疑惑,这些文件是做什么的,为什么需要这么多类别的文件呢?
今天简单的探究了一下,和大家分享一下。

ABI

1.不同的Android 手机有不同的CPU,进而支持不同的指令集。CPU和指令集的每一种组合有它自己的ABI(应用二进制文件)。
2.ABI精确定义了“运行时,应用的机器码和系统的交互方式”。
3.app必须提供,app要支持的所有手机CPU架构的ABI。

ABI包含的信息

  1. 机器码要使用的CPU指令集
  2. 内存存储&&运行时加载的字节顺序
  3. 程序/共享library/内容的类型等可执行文件的格式
  4. 定义了在你的代码&&系统之间传递数据的规则,其中有对齐限制,调用函数时如何使用stack&&register
    5.在运行时,可用的函数符号集合 。

NDK支持的ABI

Android ABI_第2张图片

翻译地址

https://developer.android.com/ndk/guides/abis.html#sa

你可能感兴趣的:(ABI)