查询Android的CPU架构

  • 1217 字

在开发过程中,我们经常遇到不同的设备,有手机,有平板,虽然近年来在苹果的带动下,大家都开始推动arm架构芯片的使用,但是在平板和模拟器上,还存在许多x86的CPU使用。因此,针对不同的CPU初始化也成了重中之重。

  1. 通过命令行工具获取当前设备的CPU架构
    首先保证设备正常连接

    通过adb shell命令进入设备

    此时前方会显示成当前设备的名称
    输入getprop ro.product.cpu.abi,确定后就能得到当前设备的CPU架构信息了

    可以看到我们当前的华为设备是arm64-v8a

  2. 在代码中如何获取当前的CPU架构信息

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    public static String getCPUArchitecture() {
    try {
    String os_cpuabi = new BufferedReader(new InputStreamReader(Runtime.getRuntime().exec("getprop ro.product.cpu.abi").getInputStream())).readLine();
    if (os_cpuabi.contains("x86")) {
    return "x86";
    } else if (os_cpuabi.contains("armeabi-v7a")) {
    return "armeabi-v7a";
    } else if (os_cpuabi.contains("arm64-v8a")) {
    return "armeabi-v8a";
    } else {
    return "armeabi";
    }
    } catch (Exception e) {
    return "armeabi";
    }
    }

    可以看到我们最终也是用的调用终端方法,从getprop ro.product.cpu.abi中查询的CPU架构信息,目前市面上大部分的手机已经升级到了armeabi-v8aarmeabiarmeabi-v7a目前来说已经慢慢减少了,可以根据实际情况调整最后的默认值。

赞助喵
非常感谢您的喜欢!
赞助喵
分享这一刻
让朋友们也来瞅瞅!