应用程序二进制接口(Application Binary Interface)定义了二进制文件(尤其是.so文件)如何运行在相应的系统平台上,从使用的指令集,内存对齐到可用的系统函数库。在Android 系统上,每一个CPU架构对应一个ABI:armeabi,armeabi-v7a,x86,mips,arm64- v8a,mips64,x86_64。

不同的Android手机使用不同的CPU,而不同的 CPU 支持不同的指令集,CPU 与指令集的每种组合都有专属的应用二进制接口,即 ABI(Application Binary Interface)。

armeabi

armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。
armeabi就是针对普通的或旧的arm v5 cpu

默认选项,将创建以基于 ARM v5TE 的设备为目标的库。 具有这种目标的浮点运算使用软件浮点运算。 使用此 ABI 创建的二进制代码将可以在所有 ARM 设备上运行。

armeabi-v7a

armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它。
armeabi-v7a是针对有浮点运算或高级扩展功能的arm v7 cpu

创建支持基于 ARM v7 的设备的库,并将使用硬件 FPU 指令。

arm64-v8a

第8代、64位ARM处理器,三星 Galaxy S6是其中之一。

参考:
Android 中arm64-v8a、armeabi-v7a、armeabi、x86简介~
ARMv8-a架构简介
一分钟搞明白Android的.so文件、ABI和CPU的关系
Android中ABI和CPU的关系

armeabi、armeabi-v7a、arm64-v8a区别相关推荐

  1. Android、Flutter为不同的CPU架构包打包APK(v7a、v8a、x86)

    默认情况下,Android和Flutter打包出来的Apk都是包含了所有架构的,这样打出来的apk体积相对于单架构的apk有点大. 这时,我们就需要分别打出不同的架构包. 架构 一般来说,x86代表3 ...

  2. armeabi v5 v7a v8a x86对应的so库详解

    ABI:应用程序二进制接口,Application Binary Interface. armeabi-v7a: 针对有浮点运算或高级扩展功能的arm v7 cpu,32位ARM设备.第7代及以上的 ...

  3. x86_64(intel64、amd64)和ARM64的区别以及发展

    文章目录 区别 引用 区别 ARM64架构 ARM 公司研发的,用的是精简指令集(追求节能,低功耗).通常用于手机.平板等CPU,目前笔记本电脑也会采用ARM64构架的CPU,比如mac m1就是ar ...

  4. Android的Crash崩溃解决方案-Bugly的使用

    我们在开发过程中,经常会遇到程序闪退,但是Eclipse的Consle和Logcat又没有错误提示,或者是只有用的时间长了才会出现的偶然崩溃,这种就很难修复bug,也严重影响用户体验,用户分分钟卸载. ...

  5. 各种交叉编译工具链的区别

    目录 1 命名规则 2 实例 2.1 arm-none-eabi-gcc 2.2 arm-none-linux-gnueabi-gcc 2.3 arm-eabi-gcc 2.4 armcc 2.5 a ...

  6. 【自问自答】armhf/arm64/aarch64异同学习

    问题及解答 armhf/arm64/aarch64 armhf与arm64的不同 arm64 vs. aarch64 ARM,AMD,X86,AArch64的概念 AMD x86 ARM AArch6 ...

  7. 深入理解 Flutter 的编译原理与优化

    阿里妹导读:对于开发者而言,Flutter工程和我们的Android/iOS工程有何差别?Flutter的渲染和事件传递机制如何工作?构建缓慢或出错又如何去定位,修改和生效呢?凡此种种,都需要对Flu ...

  8. 将公司的主要项目从eclipse迁移到android studio for mac环境(1)

    上星期,我决定要解决这个问题.理由如下: 3个月之前,我已经投入一段时间要做好这个迁移工作,直到最后,我发现能够安装了,但是运行不了,这个过程也看不到bugly上传,在找不到原因的情况下,我放弃了. ...

  9. Crosswalk 运行报错问题

    android 集成Crosswalk XWalk遇到的问题: 1.android studio编译项目报错: Binary XML file line #1: Error inflating cla ...

  10. 深入理解flutter的编译原理与优化

    问题背景 对于开发者而言,什么是Flutter?它是用什么语言编写的,包含哪几部分,是如何被编译,运行到设备上的呢?Flutter如何做到Debug模式Hot Reload快速生效变更,Release ...

最新文章

  1. C#在客户端和服务端操作Excel文件
  2. Kotlin for Android
  3. 添加javascript代码:_javascript事件?你又了解多少呢
  4. [2021-07-19 内测NOIP] 操作(状压DP),异或(字典树),等级(线段树),矩阵(DP)
  5. JAVA UDP网络编程学习笔记
  6. 第二十一届国际C语言混乱代码大赛结果公布
  7. [编程之美]饮料供货
  8. redmine全记录(更新)
  9. [计算机网络] - 从英雄联盟,看数据包何去何从?
  10. 【“elabsim”高频电子线路实验】得到输出峰峰值幅度为200mV、频率为10.7MHz正弦波信号
  11. 定时任务Cron常用表达式与在线生成器
  12. matlab平稳性检验,平稳性检验方法的有效性研究
  13. 针对文本文件单行连续多字符内容根据分隔符号转多行方法
  14. Knowledge Distillation论文阅读之:综述文章:Knowledge Distillation: A Survey(未完待续····)
  15. 服务机器人工程师(ROS)要求汇总220331
  16. Swarm-bzz/Ipfs-fil的去中心化存储到底是什么?
  17. 【WPS表格】数据透视表:统计各商品及各分店的销售总额
  18. 期货十三篇 第九篇 心态篇
  19. win10 安装.net framework3.5 失败,遇到0x800f081f并提示“找不到源文件。请使用“源”选项指定还原该功能所需的文件位置” 的问题
  20. 快解析外网如何访问内网共享服务器

热门文章

  1. Linux窗口字是倒着的,linux反撇号怎么打出来
  2. phpwind不支持php7,phpwind8.7 phpwind v8.7 新功能曝光
  3. 手机社交游戏与触动用户的环节
  4. 编译原理(陈火旺)-中国大学慕课05 语法分析——自下而上分析5 第2次单元测试
  5. 四级网络工程师试题一
  6. Visual Studio 水晶报表Crystal Reports
  7. 【元胞自动机】基于元胞自动机模拟单车道交通流含Matlab源码
  8. Multisim破解教程
  9. VS开发中,常见编译问题解决方案
  10. 淘宝 NPM 镜像解决软件下载速度慢的问题