一个表格了解lib下的文件夹
.so文件 | 描述 |
---|---|
armeabi-v7a | 第七代及以上的ARM处理器,2011年以后生产的大部分Android设备都使用。 |
arm64-v8a | 第8代、64位ARM处理器,很少设备,三星GalaxyS6是其中之一。 |
armeabi | 第5代、第6代的ARM处理器,早期的手机用的比较多。 |
X86 | 平板、模拟器用得比较多。 |
X86_64 | 64位平板,模拟器、或pc。 |
mips | MIPS是世界上很流行的一种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"
}