我执行/proc/cpuinfo
使用以下代码获取Android设备中CPU的详细信息。
try {
Process proc = Runtime.getRuntime().exec("cat /proc/cpuinfo");
InputStream is = proc.getInputStream();
TextView tv = (TextView)rootView.findViewById(R.id.textView1);
tv.setText(getStringFromInputStream(is));
}
catch (IOException e) {
Log.e("TAG", "------ getCpuInfo " + e.getMessage());
}
在此范围内,它还会返回硬件名称。我得到的硬件名称不是正确的可读格式。我已经在三星Note 3,Micromax Canvas Doodle A111,Micromax Turbo A250等各种设备上进行了测试。
这是我分别在这些设备中得到的:
我怎样才能克服这一点,请帮助!!!
答案 0 :(得分:1)
对我来说,如果您的CPU功能或设备信息一般都有点不清楚,但无论如何......
Android提供了一个很好的小类Build,可以直接通过类的静态字段获取相关信息。该类提供了许多设备级信息,如下所示:
直接从我的HTC One M8拍摄(省略了一些字段):
Build.BOARD: MSM8974
Build.BOOTLOADER: 3.19.0.0000
Build.BRAND: htc
Build.DEVICE: htc_m8
Build.DISPLAY: cm_m8-userdebug 5.1.1 LMY47V 47d6aee9c3 test-keys
Build.HARDWARE: qcom
Build.MANUFACTURER: htc
Build.MODEL: One M8
Build.PRODUCT: cm_m8
从它的外观Build.BRAND + " " + Build.MODEL
看起来就像你想要的那样。
虽然文档并不能保证任何字段的标准化,但这可能比调用Runtime.exec("cat /proc/cpuinfo")
并从那里解析更好。
如果CPU级别功能是您想要的,您可以尝试使用android cpufeatures库从本机代码执行,调用函数:
uint64_t android_getCpuFeatures();
获取包含许多CPU功能标志的int。