前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android CPU ABI

Android CPU ABI

作者头像
SkyRiN
发布2018-11-20 16:53:35
1.8K0
发布2018-11-20 16:53:35
举报
文章被收录于专栏:Coding+Coding+

ABI 简述

不同 Android 手机使用不同的 CPU,因此支持不同的指令集。CPU 与指令集的每种组合都有其自己的应用二进制界面(或 ABI)。 ABI 可以非常精确地定义应用的机器代码在运行时如何与系统交互。 您必须为应用要使用的每个 CPU 架构指定 ABI。 典型的 ABI 包含以下信息:

  • 机器代码应使用的 CPU 指令集。
  • 运行时内存存储和加载的字节顺序。
  • 可执行二进制文件(例如程序和共享库)的格式,以及它们支持的内容类型。
  • 用于解析内容与系统之间数据的各种约定。这些约定包括对齐限制,以及系统如何使用堆栈和在调用函数时注册。
  • 运行时可用于机器代码的函数符号列表 - 通常来自非常具体的库集。

目前几种 Android CPU ABI

CPU 架构

描述

armeabi

第5代 ARM v5TE,使用软件浮点运算,兼容所有ARM设备,通用性强,速度慢

armeabi-v7a

第7代 ARM v7,使用硬件浮点运算,具有高级扩展功能

arm64-v8a

第8代,64位,包含AArch32、AArch64两个执行状态对应32、64bit

x86

intel 32位,一般用于平板

x86_64

intel 64位,一般用于平板

mips

少接触

mips64

少接触

设置 APK 的对应支持

defaultConfig {
    ndk {
        abiFilters "armeabi","armeabi-v7a","arm64-v8a","x86_64"
    }
}

如果你的工程包含 NDK 开发,一般为了压缩 APK 体积都会在 build.gradle 做如上设置以声明 APK 支持的 ABI 架构,其它没有被声明的 ABI 所对应的 .so 等库就不会被打包进 APK 中。

查看 CPU ABI

通常我们可以通过如下方式查看 CPU 支持的 ABI 架构:

通过 adb 命令查看

1.连接手机到电脑上 2.打开 cmd 命令窗口,输入命令 adb shell 3.然后输入命令 cat /proc/cpuinfo

通过代码获取

textView.setText("ABI:"+Build.CPU_ABI);

参考

ABI 管理

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.05.19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ABI 简述
  • 目前几种 Android CPU ABI
  • 设置 APK 的对应支持
  • 查看 CPU ABI
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档