Android的armeabi、armeabi-v7a和arm64-v8a
2017-08-13 11:04
267 查看
在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体积
通常,我们会在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 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- 【转载】Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- 【转】Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- armeabi-v7a armeabi arm64-v8a
- Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- 我的Android进阶之旅------>Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- 我的Android进阶之旅------>Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- armeabi-v7a armeabi arm64-v8a
- Build TensorFlow for armeabi-v7a and arm64-v8a
- Android .so abi兼容,通用armeabi-v7a和arm64-v8a架构的方法
- armeabi-v7a armeabi arm64-v8a
- 我的Android进阶之旅------>Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- Android 关于arm64-v8a、armeabi-v7a、armeabi、x86、x86_64下的so文件兼容问题
- Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- armeabi-v7a armeabi arm64-v8a
- armeabi-v7a armeabi arm64-v8a
- armeabi-v7a armeabi arm64-v8a
- Android 中arm64-v8a、armeabi-v7a、armeabi、x86简介~
- 我的Android进阶之旅------>Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题