如何打包Apk适配32和64位

本文详细介绍了.so文件针对不同处理器架构(如armeabi、armeabi-v7a、arm64-v8a、MIPS、X86和X86_64)的适配情况,讨论了各自的优缺点,并给出了AndroidNDK中abiFilters的选择逻辑示例,强调了64位设备的兼容问题。
摘要由CSDN通过智能技术生成

一个表格了解lib下的文件夹

.so文件描述
armeabi-v7a第七代及以上的ARM处理器,2011年以后生产的大部分Android设备都使用。
arm64-v8a第8代、64位ARM处理器,很少设备,三星GalaxyS6是其中之一。
armeabi第5代、第6代的ARM处理器,早期的手机用的比较多。
X86平板、模拟器用得比较多。
X86_6464位平板,模拟器、或pc。
mipsMIPS是世界上很流行的一种RISC处理器。MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessor without interlocked piped stages)。

只适配armeabi

优点:基本上适配了全部CPU架构(除了淘汰的mips和mips_64)
缺点:性能低,相当于在绝大多数手机上都是需要辅助ABI或动态转码来兼容

只适配 armeabi-v7a

优点:兼容性强,支持armeabi-v7a和arm64-v8a,包体积小、性能也相对较强(支持硬件浮点),属于前几年主流适配方案
缺点:无法发挥现在64位机器的性能,64位机器需要向下兼容到32位

只适配 arm64-v8

优点:性能最佳,包体积小
缺点:兼容性差,只能运行在arm64-v8的64位机器上

案例:

        ndk {
            // 32 和 64 选择要添加的对应cpu类型的.so库。
            abiFilters "armeabi", "armeabi-v7a", "x86", "mips","x86_64","arm64-v8a"
            // 32
            abiFilters  "armeabi-v7a"
            // 64
            abiFilters   "arm64-v8a"
        }

64位适配方案逻辑图

在这里插入图片描述

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

将哥哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值