[经验分享]下载安卓APP的aarch64、arm64-v8a、armeabi-v7a、tv-arm64-v8a、tv-armeabi-v7a、arm、x86、x86-64等不同版本如何选择?
2021年8月6日星期五 | | |下载安卓APP的时候, 经常有不同的版本让你选择,比如:aarch64、arm64-v8a、armeabi-v7a、tv-arm64-v8a、tv-armeabi-v7a、arm、x86、x86-64等不同版本,那要如何选择呢?
首先aarch64理解成是armv8架构的64位模式。
而armv8是arm目前的主流架构,上一代架构是armv7。
你可以理解成:
1,该软件只能在64位arm架构soc的安卓手机上运行。
2,armv7没有64位模式,只有32位。骁龙800和之前的soc跑不了这个软件的。
3,armv8的soc比较出名的是骁龙810,是高通第一款64位soc。好像也是安卓手机的第一款64位处理器。
4,安卓手机只要年代比骁龙810晚,并且是64位处理器的,那么就能运行该程序。
5,aarch64和arm基本等同一类,arm包括aarch64。
至于你看到的x86 和x86_64,完全的命名是Android x86 和Android x86-64。只有英特尔atom芯片的安卓系统手机适合这些程序。
这些手机也很好找,并且已经退出行业了,冷门的几款机型,很容易分辨。
作者:红tea少年2
链接:https://www.zhihu.com/question/354472259/answer/2027207544
来源:知乎
- armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它.
- arm64-v8a: 第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。
- armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。
- x86: 平板、模拟器用得比较多。
- x86_64: 64位的平板。
Android系统目前支持以下七种不同的CPU架构:ARMv5,ARMv7 (从2010年起),x86 (从2011年起),MIPS (从2012年起),ARMv8,MIPS64和x86_64 (从2014年起),每一种都关联着一个相应的ABI。
应用程序二进制接口(Application Binary Interface)定义了二进制文件(尤其是.so文件)如何运行在相应的系统平台上,从使用的指令集,内存对齐到可用的系统函数库。在Android系统上,每一个CPU架构对应一个ABI:armeabi,armeabi-v7a,x86,mips,arm64-v8a,mips64,x86_64。
各版本分析如下:
• mips / mips64: 极少用于手机可以忽略(谷歌最新的文档已经不支持了)
• x86 / x86_64: x86 架构的手机都会包含由 Intel 提供的称为 Houdini 的指令集动态转码工具,实现 对 arm .so 的兼容,再考虑 x86 1% 以下的市场占有率,x86 相关的两个 .so 也是可以忽略的
• armeabi: ARM v5 这是相当老旧的一个版本,缺少对浮点数计算的硬件支持,在需要大量计算时有性能瓶颈
• armeabi-v7a: ARM v7
• arm64-v8a: 64位支持,目前主流的版本,虽然网上很多博客都说v7是主流版本,但是我亲自试验了很多手机,都是arm64-v8a的架构,测试机型包括小米5-小米9,华为P30,华为mate10,魅蓝2等均是v8架构
查询手机cpu命令行:
adb shell getprop ro.product.cpu.abi
更多参考:
https://blog.csdn.net/u012400885/article/details/52923765
https://juejin.cn/post/6844904148589084680