在Eclipse或者Android Studio的project\app\src\main\jniLibs\经常可以看到下面这样的部分
不禁疑惑,这些文件是做什么的,为什么需要这么多类别的文件呢?
今天简单的探究了一下,和大家分享一下。
ABI
1.不同的Android 手机有不同的CPU,进而支持不同的指令集。CPU和指令集的每一种组合有它自己的ABI(应用二进制文件)。
2.ABI精确定义了“运行时,应用的机器码和系统的交互方式”。
3.app必须提供,app要支持的所有手机CPU架构的ABI。
ABI包含的信息
- 机器码要使用的CPU指令集
- 内存存储&&运行时加载的字节顺序
- 程序/共享library/内容的类型等可执行文件的格式
- 定义了在你的代码&&系统之间传递数据的规则,其中有对齐限制,调用函数时如何使用stack&®ister
5.在运行时,可用的函数符号集合 。