adb 查看安卓手机、模拟器、apk包所支持的 CPU 类型(armeabi、armeabi-v7a、arm64-v8a ...)

adb 查看安卓手机、模拟器、apk包所支持的 CPU 类型(armeabi、armeabi-v7a、arm64-v8a ...)

一、简介

Android 设备 CPU 类型,通常称为 ABIs:

armeabi: 第 5 代、第 6 代的 ARM 处理器,早期的手机用的比较多。armeabi-v7a: 第 7 代及以上的 ARM 处理器。arm64-v8a: 第 8 代 64 位 ARM 处理器,2016年 之后中高端的手机,比如 骁龙8系列、麒麟9系列、联发科1000+ 等。x86: 平板、模拟器用得比较多。x86_64: 64 位的平板。 常说的 骁龙865、麒麟990 不是 CPU 而是 SoC(System On Chip),SoC 除了 CPU 外,还有 GPU,还有可选的浮点数加速器,专用于深度模型的加速器,等等。除此以外,SoC 还包括运存,基带芯片等等一系列集成式的东西,比电脑上的 CPU 集成度更高。

二、查看设备或模拟器支持的 cpu 类型

方法一:下载 Devcheck,安装后,在系统信息这一栏中点击,可以查看当前的架构。

方法二:查看手机的 SOC,查找该 SOC 的信息,比如 A55+A76,然后去查找对应的 ARM 信息。

方法三:配置好 adb 环境,通过 adb 查询,该方案需提前准备:

1、首先将手机与电脑连接。

2、打开手机的开发者模式 并 开启USB调试,这里每个手机的位置不完全相同,请自行百度。

3、查询需要 adb,如果本地有安卓环境,存在 adb,可以直接使用本地的即可,不需要下载 ADB Kits,附:Mac 安卓(Android) 配置 adb 路径配置。

如果没有安卓环境,则需要下载 ADB Kits,解压安装包,并在当前文件下打开 cmd(Windows窗口的文件夹下输入 cmd 就可以直接定位到当前路径);如果用不了,可以看看 单纯搭建 adb 环境与使用。

然后打开命令行,输入以下代码查看手机 CPU 的 ABIs(操作过程中手机可能会弹窗 usb 调试授权,选择授权即可)

只有一台设备或模拟器连接

# 查看设备列表

$ adb devices

* List of devices attached

* 76fbaa2d device

# 只有一台设备或模拟器连接,可以直接执行会输出 cpu 类型

# 如果有环境,可以使用 adb 环境变量全局指令

# 如果没有环境,可以进入下载的 ADB Kits 文件件,使用 adb 指令

$ adb shell getprop ro.product.cpu.abi

# 查看打印的字符

arm64-v8a

多台设备或模拟器连接

# 查看设备列表

$ adb devices

* List of devices attached

* 76fbaa2d device

* 127.0.0.1:6555 device

# 如果多台设备或模拟器连接,需要指定输出某一台设备的 cpu 类型

$ adb -s 76fbaa2d shell getprop ro.product.cpu.abi

$ adb -s 127.0.0.1:6555 shell getprop ro.product.cpu.abi

# 查看打印的字符

arm64-v8a

输出设备支持的更多 cpu 架构类型

# 查看设备列表

$ adb devices

* List of devices attached

* 76fbaa2d device

* 127.0.0.1:6555 device

*

# 只有一台设备或模拟器连接,可以直接执行会输出所支持的所有 cpu 类型

$ adb shell getprop ro.product.cpu.abilist

# 如果多台设备或模拟器连接,需要指定输出某一台设备的 cpu 类型

$ adb -s 76fbaa2d shell getprop ro.product.cpu.abilist

$ adb -s 127.0.0.1:6555 shell getprop ro.product.cpu.abilist

# 查看打印的字符

arm64-v8a,armeabi-v7a,armeabi

三、查看 apk 支持的 cpu 类型

细节:

如果使用 apktool 没有找到 lib 文件夹或 aapt 也没有输出对应内容,这通常意味着该 APK 文件可能不包含原生库(native libraries),而是一个纯 Java 应用。纯 Java 应用不依赖于特定的 CPU 架构,因此不会包含特定的 CPU ABI 文件夹,它可以在任意 Android 设备上运行而不依赖于特定的 CPU ABI。

方法 1:使用 apktool【推荐】

apktool 是另一个强大的工具,能够反编译 APK 文件。你可以使用它来查看 APK 的详细信息,包括支持的 ABI。

原本安装 apktool,只要安装好 Java Development Kit (JDK) 会自带。但是可以简单来 按这篇文章下载好脚本包执行指令即可,包含 apktool 安装使用。

使用命令反编译 APK,推荐按上面附带文章中的方式执行指令。

$ apktool d path/to/your/app.apk

查看反编译后的文件:在反编译的目录中,查看 AndroidManifest.xml 文件,通常可以找到支持的 ABI 信息。

如果在 AndroidManifest.xml 文件没有看到,查看 apktool 反编译后的 lib 目录,展开该目录通常会包含针对不同 ABI 的文件夹,如:

lib/armeabi-v7a/lib/arm64-v8a/lib/x86/lib/x86_64/ 这些文件夹的存在表示 APK 支持对应的 CPU ABI。

方法 2:使用 aapt 工具

aapt 是 Android SDK 中的一个工具,可以用于分析 APK 文件。以下是使用 aapt 查看 APK 支持的 CPU ABI 的步骤:

确保已安装 Android SDK:aapt 工具通常包含在 Android SDK 的 build-tools 目录下。附:aapt 与 aapt2 的区别与安装

打开终端或命令提示符。

运行以下命令:

$ aapt dump badging path/to/your/app.apk | grep native-code

将 path/to/your/app.apk 替换为你的 APK 文件的实际路径。

查看输出:该命令的输出将包含类似于以下内容的信息:

$ native-code: 'armeabi-v7a' 'arm64-v8a' 'x86' 'x86_64'

这表示该 APK 支持的 CPU ABI 列表。

方法 3:使用 APK 分析器(Android Studio)

如果你更喜欢图形界面,可以使用 Android Studio 提供的 APK 分析器,但是好像需要知道证书账号密码。

打开 Android Studio。在菜单中选择 Build > Analyze APK...。选择要分析的 APK 文件,然后点击 OK。在 APK 分析器中,你可以查看 APK 的详细信息,包括支持的 CPU ABI。查找 ABI 或 Native Libraries 部分,查看支持的 ABI 列表。

四、扩展

其他指令

查看连接的手机设备,未连接会报错,报错参考。

$ adb devices

# 如果设备显示错误,可以通过重启 adb 服务来刷新

$ adb kill-server

$ adb start-server

参考文章

armeabi-v7a arm64-v8a armeabi x86 x86_64区别

如何查看 Android 手机 CPU 类型是 armeabi,armeabi-v7a,还是 arm64-v8a

黄金推荐

猫砂可以一直加不换吗?养猫铲屎官必看:全面清理猫砂盆攻略!
黎的解释
365bet体育投注地址

黎的解释

✨ 09-30 💎 价值: 3937
教你如何贴笛膜
365bet体育投注地址

教你如何贴笛膜

✨ 07-21 💎 价值: 7864