Android APK 32位和64位的区别及说明
作者:工程师的修炼之路
这篇文章主要介绍了Android APK 32位和64位的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
Android APK 32位和64位的区别
现在我们或者运营人员在更新应用市场的是时候会被要求上传 32位 的安装包和 64位 的安装包
32位 对应的就是32位的操作系统,那么 64位 就是对应64位的操作系统。
- 64位的操作系统运行起来比32位的系统,理论上快2倍。
- 32位系统最多支持4G内存。
- 64位系统理论上可以无限支持,只要有足够的内存条就没问题。
ARM 32位对应的是 armv7架构、armv6架构、armv5架构
ARM 64位是armv8架构
常用的abi
- armeabi: armv5架构和armv6架构(32位)
- armeabi-v7a:armv7架构(32位)
- armeabi-v8a:armv8架构(64位)
- x86:x86架构(32位)
- x86_64:x86_64架构(64位)
关于我们判断APP是否是64位
要确定应用是否包含 64位 库,最简单的方法就是检查APK文件的结构。
在编译时,APK会与应用所需的所有原生库打包在一起。
原生库会根据 ABI 而存储在不同的文件夹中。
应用无需支持所有的64位架构,但对于支持的每种原生 32位架构,则应用都必须包含相应的 64位 架构
在AndroidStudio中检测APK
查看 lib 目录下是否有支持64位架构的 .so 文件。
如果没有支持 32位 或者 64位 的就在build.gradle — defaultConfig中配置一下添加所需要的库,重新打包。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。