我是靠谱客的博主 柔弱短靴,这篇文章主要介绍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的全部内容,更多相关Android内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部