Andriod 获取手机CPU型号设备信息

环境

  • Mac mini 2014(Intel)
  • Android Studio Bumblebee
  • Android 手机

问题描述

获取手机 CPU 信息时,使用 Build.HARDWARE 只能获取到型号,没有 CPU 名称。

问题解决

注:写文章引用来源一直力求引用原创,但下面的引文没找到原创文献

面向搜索引擎编程,参考文献1 介绍了在 Windows 下的 shell 命令操作获取 CPU 信息。参考文献2 介绍了怎样解析出 CPU 名称,网上都是类似,但实际上获取的都不是 CPU 名称型号。

shell 命令获取 CPU 信息

在 Mac(Intel) 下 shell 命令获取 CPU 有两个途径,一是在 Mac 终端中,一是在 Android Studio 的 Terminal 里面,都是使用如下指令:

adb shell
cat /proc/cpuinfo

所得结果如下:

Processor	: AArch64 Processor rev 2 (aarch64)
processor	: 0
BogoMIPS	: 3.84
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd03
CPU revision	: 4

processor	: 1
BogoMIPS	: 3.84
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd03
CPU revision	: 4

processor	: 2
BogoMIPS	: 3.84
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd03
CPU revision	: 4

processor	: 3
BogoMIPS	: 3.84
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd03
CPU revision	: 4

processor	: 4
BogoMIPS	: 3.84
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd09
CPU revision	: 2

processor	: 5
BogoMIPS	: 3.84
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd09
CPU revision	: 2

processor	: 6
BogoMIPS	: 3.84
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd09
CPU revision	: 2

processor	: 7
BogoMIPS	: 3.84
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd09
CPU revision	: 2

Hardware	: Hisilicon Kirin970

由此可知,CPU 名称型号在最后一行。现有文章里面只是获取第一行肯定是不对的。

解析 CPU 名称型号

解析 CPU 名称型号,则应使用如下方法:

public static String getCpuName() {
    
    
 String str1 = "/proc/cpuinfo";
 String str2 = "";
 String cpuName = "";

 try {
    
    
     FileReader fileReader = new FileReader(str1);
     BufferedReader bufferedReader = new BufferedReader(fileReader);
     
     while ((str2 = bufferedReader.readLine()) != null) {
    
    
         if (TextUtils.isEmpty(str2)) {
    
    
             continue;
         }
         String[] arrayOfString = str2.split(":\\s+", 2);
         if (TextUtils.equals(arrayOfString[0].trim(), "Hardware")) {
    
    
             cpuName = arrayOfString[1];
             break;
         }
     }

     bufferedReader.close();
     fileReader.close();
 } catch (IOException e) {
    
    
     e.printStackTrace();
 }
 return cpuName;
}

参考文献

[1] android查看cpu信息
[2] Android获取系统cpu信息

猜你喜欢

转载自blog.csdn.net/dpdcsdn/article/details/126782438