最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

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

业界 admin 2浏览 0评论

一、简介

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

    • armeabi: 第 5 代、第 6 代的 ARM 处理器,早期的手机用的比较多。
    • armeabi-v7a: 第 7 代及以上的 ARM 处理器。
    • arm64-v8a: 第 864ARM 处理器,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,解压安装包,并在当前文件下打开 cmdWindows窗口的文件夹下输入 cmd 就可以直接定位到当前路径);如果用不了,可以看看 单纯搭建 adb 环境与使用。

    然后打开命令行,输入以下代码查看手机 CPUABIs(操作过程中手机可能会弹窗 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。

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

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

      $ apktool d path/to/your/app.apk
      
    3. 查看反编译后的文件:在反编译的目录中,查看 AndroidManifest.xml 文件,通常可以找到支持的 ABI 信息。

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

      • lib/armeabi-v7a/
      • lib/arm64-v8a/
      • lib/x86/
      • lib/x86_64/

      这些文件夹的存在表示 APK 支持对应的 CPU ABI

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

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

    2. 打开终端或命令提示符

    3. 运行以下命令

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

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

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

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

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

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

    1. 打开 Android Studio
    2. 在菜单中选择 Build > Analyze APK...
    3. 选择要分析的 APK 文件,然后点击 OK
    4. 在 APK 分析器中,你可以查看 APK 的详细信息,包括支持的 CPU ABI。查找 ABINative 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

一、简介

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

    • armeabi: 第 5 代、第 6 代的 ARM 处理器,早期的手机用的比较多。
    • armeabi-v7a: 第 7 代及以上的 ARM 处理器。
    • arm64-v8a: 第 864ARM 处理器,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,解压安装包,并在当前文件下打开 cmdWindows窗口的文件夹下输入 cmd 就可以直接定位到当前路径);如果用不了,可以看看 单纯搭建 adb 环境与使用。

    然后打开命令行,输入以下代码查看手机 CPUABIs(操作过程中手机可能会弹窗 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。

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

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

      $ apktool d path/to/your/app.apk
      
    3. 查看反编译后的文件:在反编译的目录中,查看 AndroidManifest.xml 文件,通常可以找到支持的 ABI 信息。

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

      • lib/armeabi-v7a/
      • lib/arm64-v8a/
      • lib/x86/
      • lib/x86_64/

      这些文件夹的存在表示 APK 支持对应的 CPU ABI

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

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

    2. 打开终端或命令提示符

    3. 运行以下命令

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

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

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

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

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

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

    1. 打开 Android Studio
    2. 在菜单中选择 Build > Analyze APK...
    3. 选择要分析的 APK 文件,然后点击 OK
    4. 在 APK 分析器中,你可以查看 APK 的详细信息,包括支持的 CPU ABI。查找 ABINative 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

发布评论

评论列表 (0)

  1. 暂无评论