Android ABI

来源:互联网 发布:java执行vbs 编辑:程序博客网 时间:2024/06/11 02:21

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

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

这里写图片描述

翻译地址

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