1、手机cpu架构。

讲到armeabi就不得不讲手机cpu了。电脑有电脑的cpu,手机也有手机的cpu。cpu有厂商属性,也有架构属性,架构的话自己简单地理解就是它的内部模块的组成结构。

其中arm架构的手机cpu占市场的大部分,这也是今天的重点。但arm架构的发展历史悠久,也有很多不同的版本。

2、前面讲了cpu架构,为下面的讲述做了一个技术背景的铺垫。

我们在开发Android项目的时候,比如使用高德地图导航或者3d地图的时候就会使用到.so库文件,它们保存在armeabi和armeabi-v7a或arm64-v8a等目录下,这有什么作用呢?

其实这是给app运行时读取的几个目录,但会根据手机cpu架构类型只从其中一个文件夹读取,有点类似values和values-21的作用,但是与它们又有点不同。

后者的规则是:如果手机是21以上的会首先在values-21文件里面查找样式等,如果查找不到才去values文件找;如果手机是21以下的就直接在values文件下找。

前者的规则是:根据cpu架构类型去app的libs里面匹配到对应的目录比如armeabi或者armeabi-v7a,然后就加载这个目录下的.so库;

如果在匹配到的目录下没有对应的库也不会去别的目录下加载;

但是armeabi目录可以匹配所有的arm架构的cpu,意思是指所有的arm架构的cpu的安卓手机如果没有找到最优的对应的目录,则会去匹配armeabi目录。

我的推测是arm架构的cpu是向下兼容的,即保留之前版本的功能,而armeabi目录是匹配低版本armv5的,所以高版本的arm架构的cpu可以读取armeabi目录下的.so库文件;查过资料会发现低版本的arm架构cpu支持软浮点运算而高版本的支持硬件浮点运算,这是他们的区别之一。

3、最近在开发高德导航功能,官方文档提示此功能不支持armeabi-v7a,根据以上的讲述:导航功能并没有为armeabi-v7a对应的cpu设计一套.so库文件,所以只能使用armeabi目录下的库文件,所以要删掉armeabi-v7a目录。

armeabi与armeabi-v7a的区别,绝对干货!相关推荐

  1. 无监督和有监督的区别_干货|全面理解无监督学习基础知识

    一.无监督学习 无监督学习的特点是,模型学习的数据没有标签,因此无监督学习的目标是通过对这些无标签样本的学习来揭示数据的内在特性及规律,其代表就是聚类.与监督学习相比,监督学习是按照给定的标准进行学习 ...

  2. lcl手术和飞秒区别_干货科普:目前市面上4种近视手术方式有何区别(全飞秒、半飞秒、全激光、晶体植入)...

    写这篇文章的初衷是因为我18年写过一篇全飞秒手术分享贴,有不少想做手术的知友在评论区问了很多问题,80%的问题都是大家不清楚目前市面上几种手术方式的区别,以及自己到底应该选择怎样的手术方式,所以我才写 ...

  3. dp线和hdmi区别_干货| 认识VGA、DVI、HDMI、DP视频接口

    在我们的生活中,无论是电脑.电视还是投影设备等等,都离不开视频输出接口,尤其在显卡上面,通常会出现3种甚至更多的接口.今天,我们就来和大家说一说VGA.DVI.HDMI.DP四种接口之间有什么区别.一 ...

  4. python 元组和列表区别_Python干货整理:一分钟了解元组与列表使用与区别

    元组是 Python 对象的集合,跟列表十分相似.下面进行简单的对比. 列表与元组 1.python中的列表list是变量,而元组tuple是常量. 列表:是使用方括号[],元组:则是使用圆括号() ...

  5. Synchronized的使用详解与区别(干货满满!!!)

    Synchronized synchronized是一个重量级锁,不过在经过Java8的优化之后性能也提升了好多 首先我们要明白,锁是锁在哪里? synchronized锁定的是一个对象,而不是一段代 ...

  6. redis rdb aof区别_干货|Redis的RDB和AOF

    作者:Dvelpro 链接:https://blog.nowcoder.net/n/63c9812ce634474280675f3f6bb4d1ca 来源:牛客网 Redis的RDB和AOF 概述 R ...

  7. Android中libs目录下armeabi和armeabi-v7a的区别

    armeabi默认选项, 支持基于 ARM* v5TE 的设备 支持软浮点运算(不支持硬件辅助的浮点计算) 支持所有 ARM* 设备 armeabi-v7a 支持基于 ARM* v7 的设备 支持硬件 ...

  8. android的armeabi和armeabi-v7a

    在ANE中如果SDK调用了so库,则需要把so库放到ANE下Android-ARM/lib/armeabi (调试模式)或者 armeabi-v7a(发行模式)下. 可以贴个ADT代码说明问题: // ...

  9. ABIs [armeabi] are not supported for platform 的解决

    解决方法,在app的build.gradle的ndk标签下,将armeabi 删除掉. 修改前: ndk {abiFilters 'armeabi' , 'armeabi-v7a' } 修改后: nd ...

  10. armeabi-v7a armeabi arm64-v8a 有何区别 ,英雄不问出处

    armeabi-v7a armeabi arm64-v8a armeabi就是针对普通的或旧的arm v5 cpu,armeabi-v7a是针对有浮点运算或高级扩展功能的arm v7 cpu. arm ...

最新文章

  1. kubeasz_使用kubeasz安装K8S集群,不受国内网络环境影响
  2. No IP specified. Please specify IP with ‘objects’
  3. SimpleUrlHandlerMapping 处理器映射的配置--转
  4. [转载] 七龙珠第一部——第070话 五人战士大突击
  5. 数据分析工具有多好用?Yonghong Z-Suite V8.8 发布,实现20余项功能新改变!
  6. psd页面切割成html技巧总结
  7. java redis缓存工具类_util: 对日常工作中常见的工具类进行打包: 1、数据库:DBUtil工具类 2、Redis缓存:JedisUtil工具类...
  8. 使用redis的发布订阅模式实现消息队列
  9. mac下安装brew下载非常慢解决方法
  10. python支付宝自动转账_python实现支付宝转账接口
  11. java系统管理员停用,为什么犯错让我成为一个更好的系统管理员
  12. 店庆遇上双11,买书的最大优惠来了!
  13. Emacs Lisp 15 分钟入门
  14. TatukGIS - GisDefs - CanonicalSQLName 函数
  15. sp_send_dbmail参数设置
  16. 原始Young不等式
  17. 常用矩阵求导公式推导
  18. python selenium 爬虫遇到 由于目标计算机积极拒绝,无法连接
  19. 《平凡的世界》(书评)
  20. 常用的企业邮箱有哪些?企业邮箱有哪几种?

热门文章

  1. 数学建模国奖论文2019-C-C308分析
  2. 用matlab进行单整性检验,应用VAR模型时的15个注意点(笔记)
  3. Windows下把EXE 程序变成服务运行
  4. 金蝶k3服务器 系统要求,金蝶K3操作系统要求及环境配置
  5. 恶意代码攻击实验(冰河木马和广外男孩的使用)
  6. 【MM32F5270开发板试用】四、SPI的驱动,先点个屏幕
  7. OpenCore配置文字说明(第二版)基于056(03-02官方正式版)
  8. 全国计算机二级考试2008版教材,全国计算机等级考试教程:二级Visual FoxPro(2008年版)...
  9. BT种子文件信息库-TorrentinfoLibrary
  10. 华硕FX60VM笔记本系统安装