一、Build 类
-
Build 类从系统属性中提取设备硬件和版本信息
-
Build 类用于适配不同设备、检查系统版本、启用特定功能、在日志中记录设备信息等
-
Build 类其中的内部类有
Build.VERSION
和Build.VERSION_CODES
二、ABI
-
ABI 全称 Application Binary Interface,即应用二进制接口,是应用程序与操作系统之间的接口
-
ABI 确保不同组件(例如,应用程序、库、操作系统)之间的二进制兼容性
-
Android 支持的 ABI 类型:
arm64-v8a
(64 位 ARM 架构)、armeabi-v7a
(32 位 ARM 架构)、x86
(32 位 x86 架构)、x86_64
(64 位 x86 架构)等
三、Android 开发中的 ABI
1、Build.SUPPORTED_ABIS
(1)基本介绍
-
Build.SUPPORTED_ABIS
是一个字符串数组,包含了当前 Android 设备支持的所有应用二进制接口的名称 -
Build.SUPPORTED_ABIS
主要用于开发者在编译或打包应用程序时选择合适的本地库
(2)演示
for (String supportedAbi : Build.SUPPORTED_ABIS) {
Log.i(TAG, "supportedAbi: " + supportedAbi);
}
- 输出结果
supportedAbi: armeabi-v7a
supportedAbi: armeabi
2、Build.CPU_ABI
(1)基本介绍
-
Build.CPU_ABI
是一个字符串,表示设备的主 CPU 架构对应的 ABI 名称 -
Build.CPU_ABI
返回设备的主要或首选 ABI,这通常是设备性能最优的 ABI
(2)演示
Log.i(TAG, "cpuAbi: " + Build.CPU_ABI);
- 输出结果
cpuAbi: armeabi-v7a
3、Build.SUPPORTED_ABIS
对比 Build.CPU_ABI
-
Build.SUPPORTED_ABIS
提供了设备支持的所有 ABI 的列表,而Build.CPU_ABI
只返回设备的主要 ABI -
Build.SUPPORTED_ABIS
适用于需要确保应用程序在不同设备上都能找到合适本地库的场景,而Build.CPU_ABI
则更适用于需要针对设备主要 ABI 进行优化的场景 -
通常情况下,
Build.CPU_ABI
返回的 ABI 会包含在Build.SUPPORTED_ABIS
列表中