我执行/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());
}
其中它还返回硬件名称。我得到的硬件名称的格式不正确。我已经在 Samsung Note 3、Micromax Canvas Doodle A111、Micromax Turbo A250 等各种设备上进行了测试。
这是我分别在这些设备中得到的:
-
三星 EXYNOS5420:(但我需要这个名字三星 Exynos Octa 5420 )
-
QRD MSM8625Q EVBD:(需要名字高通骁龙 200 )
-
MT6589:(联发科MT6589 )
我该如何克服这个问题,请帮助!
我似乎有点不清楚你的 CPU 功能或设备信息是否一般,但无论如何......
Android 提供了一个不错的小类,名为Build https://developer.android.com/reference/android/os/Build.html它可以直接通过类的静态字段为您提供大量信息。该类提供了很多设备级的信息,如下所示:
直接取自我的 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 cpu 功能库从本机代码执行操作,调用该函数:
uint64_t android_getCpuFeatures();
获取包含许多 CPU 功能标志的 int。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)