篇首语:本文由小编为大家整理,主要介绍了Android NDK和ABI简介相关的知识,希望对你有一定的参考价值。
NDK,Nactive Develop kit 本地开发工具集
不同的 Android 设备使用不同的 CPU,而不同的 CPU 支持不同的指令集。CPU 与指令集的每种组合都有专属的应用二进制接口 (ABI)。
android中对应的ABI目录支持:armeabi 、armeabi-v7a、arm64-v8a、x86、x86_64、mips和mips64。(后面这两基本没见过)
CPU架构
ABI
通常一个设备不仅支持一种ABI,通常两种:主ABI和辅ABI
CPU架构/支持ABI | armeabi | armeabi-v7a | arm64-v8a | x86 | x86_64 |
---|---|---|---|---|---|
ARMv5 | 支持(优先) | ||||
ARMv7 | 支持 | 支持(优先) | |||
ARMv8 | 支持 | 支持 | 支持(优先) | ||
x86 | 支持 | 支持 | 支持(优先) | ||
x86_64 | 支持 | 支持 | 支持(优先) |
通常用armeabi + armeabi-v7a的适配方案,可以很好的兼顾性能与APK包大小问题。当然在不需要考虑APK包大小的情况下,全部适配是最好的。
android defaultConfig ndk abiFilters 'arm64-v8a', 'x86_64'
APK打包时,只打包指定的ABI的.so文件。
需要特别注意的是:当第三方库中存在.so库文件时,第三方库适配的ABI要与我们项目自身适配的ABI目录保持一致,也就是说打包后的APK的所有ABI目录中.so文件数量必须保持一致。
我总结了一些Android核心知识点,以及一些最新的大厂面试题、知识脑图和视频资料解析。
需要的直接点击文末小卡片可以领取哦我免费分享给你,以后的路也希望我们能一起走下去。(谢谢大家一直以来的支持,需要的自己领取)
Android学习PDF+架构视频+面试文档+源码笔记
部分资料一览:
领取地址:
点击下方卡片免费领取
以上是关于Android NDK和ABI简介的主要内容,如果未能解决你的问题,请参考以下文章