Android的armeabi、armeabi-v7a和arm64-v8a
在Android项目中,我们可能经常会使用到动态库文件(.so)。
通常,我们会在jniLibs下,放动态库文件,首先会有一个或者几个文件夹。
比如:armeabi、armeabi-v7a、arm64-v8a。这些文件夹名称是固定的,
那么这些名称分别代表什么意思呢?
其实这些是ABI(应用程序二进制接口),它们定义了二进制文件(尤其是.so文件)如何运行在相应的系统平台上。
armeabi—>ARM V5的CPU架构
armeabi-v7a—>ARM V7的CPU架构(支持硬件浮点运算)
arm64-v8a—>64位的ARM处理器
其中,armeabi和armeabi-v7a都是对应32位处理器的手机,而arm64-v8a是对应64位处理器的手机。
arm64-v8a向下兼容armeabi-v7a和armeabi。armeabi-v7a向下兼容armeabi。
对于一个CPU是64ARM架构的手机,它运行APP时,进入jniLibs去读取动态库文件时,先看有没有arm64-v8a文件夹,如果没有,就去找armeabi-v7a文件夹,如果还没有,就去找armeabi文件夹,如果连这个文件夹也没有,就抛出异常。如果有arm64-v8a文件夹,那么就去该文件夹下找对应的动态库文件,如果没有找到,不会再往下(armeabi-v7a)找了,而是抛出异常。
放动态库文件时,两个考虑因素:
一、兼容性和性能
二、APK体积
Android的armeabi、armeabi-v7a和arm64-v8a相关推荐
- armeabi v5 v7a v8a x86对应的so库详解
ABI:应用程序二进制接口,Application Binary Interface. armeabi-v7a: 针对有浮点运算或高级扩展功能的arm v7 cpu,32位ARM设备.第7代及以上的 ...
- 关于Android中的armeabi 和armeabi-v7a
简而言之:armeabi 和 armeabi-v7a是针对不同CPU而建立的文件夹,armeabi是指的该so库用于ARM的通用CPU,而v7a的CPU支持硬件浮点运算.因此armeabi通用性强,但 ...
- Android的Crash崩溃解决方案-Bugly的使用
我们在开发过程中,经常会遇到程序闪退,但是Eclipse的Consle和Logcat又没有错误提示,或者是只有用的时间长了才会出现的偶然崩溃,这种就很难修复bug,也严重影响用户体验,用户分分钟卸载. ...
- Android 适配 64 位架构
Android 适配 64 位架构 原文地址 https://juejin.cn/post/6964737926617890853 背景 64位的应用性能更好,也能运行在未来仅支持 64 位架构的设备 ...
- Android 的7种CPU架构
目前android支持如下7中CPU架构: armeabi 第5代 ARM v5TE,使用软件浮点运算,兼容所有ARM设备,通用性强,速度慢(只支持armeabi) armeabi-v7a 第7代 A ...
- ARM32/ARM64函数调用规则
1.ARM32函数调用约定 http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042f/IHI0042F_aapcs.pdf 2.ARM64函数 ...
- 将公司的主要项目从eclipse迁移到android studio for mac环境(1)
上星期,我决定要解决这个问题.理由如下: 3个月之前,我已经投入一段时间要做好这个迁移工作,直到最后,我发现能够安装了,但是运行不了,这个过程也看不到bugly上传,在找不到原因的情况下,我放弃了. ...
- Android踩坑之 couldnt find libClingSDK.so
Android踩坑之couldn't find "libClingSDK.so" 在android开发中一些涉及到硬件级的API需要引入第三方的sdk,通常都是一个jar包搭配一个 ...
- 科学收集并分析Android用户敏感信息实战
前言 作为一名Android开发者,经常会接到项目经理提出的收集用户信息的需求,而且对于普通开发者来说,也需要收集一些真实用户的信息来辅助开发或者进行优化.在这里简单的记录一下我在做开发的过程中做过的 ...
- 【错误记录】p7zip 交叉编译 Android 版本 NDK 报错 ( Application.mk | APP_ABI := armeabi-v7a arm64-v8a x86 x86_64 )
文章目录 一.报错信息 二.解决方案 一.报错信息 下载 7zip 源码 , 下载页面 https://sourceforge.net/projects/p7zip/files/ , 解压源码 , 进 ...
最新文章
- Spring Boot数据库操作原理及整合druid数据源和mybatis
- leecode-8字符串转化为整数C版
- DBCC--SQLPERF
- python+pygame 最强大脑联动归位游戏
- 对于高等代数一下比较基础的概念的认识
- 【163】VS2022调试通过海康明眸门禁报警事件中的报警布防C++示例代码
- Mybatis 自定义自动分页
- android手机紧急快捷键,常用手机指令(手机快捷键)及呼叫转移快捷指令
- StructedStreaming Kafka 排错(AbstractCoordinator: Marking the coordinator *dead for grou
- c语言中 241错误式什么意思,Qt error: stray '\241' in program
- 爬虫英雄联盟官网的全英雄介绍和技能介绍
- 计算机前置usb应用,usb前面不能用,详细教您解决电脑前置USB接口不能使用
- matlab 识别一维条形码 代码,matlab一维条形码码字识别程序.doc
- 给水管网漏损控制策略国内外差异与思考
- 将SQL导入JAVA的后续操作
- 怎么去面试测试工程师?
- php 查询数据表第2条,PHP 连接 MySQL 数据库的连接函数 mysql_connect 的第二个参数是( )。...
- android桌面悬浮窗,Android桌面悬浮窗
- proteus仿真-单片机-超声波测距报警
- string/string.h/cstring头文件的区别摘要
热门文章
- 页面渲染之回流与重绘讲解
- No qualifying bean of type ‘com.alibaba.dubbo.config.ApplicationConfig‘ available: expected at least
- Knockoutjs——checkbox全选
- excel文档关闭时不小心点了不保存???老铁别扎心以下方法可以恢复!!!
- fastdfs nginx 文件跨域访问
- 【论文写作】如何表示比较关系, compare to OR compare with?
- Fiddler实现iPhone手机抓包
- 刘勇智:一码通缺陷分析与架构设计方案丨声网开发者创业讲堂 Vol.02
- QTableView 代码选择高亮某行
- Java第五课:类和对象