我试图从英特尔和安卓的CPU设备上获取CPU信息。我用代码运行这个:

Process process process = Runtime.getRuntime().exec("cat /proc/cpuinfo");

然后逐行读取输出。奇怪的是这是显示手臂信息,例如:
Processor   : ARMv7 processor rev 1 (v7l)

当您直接从IO读取文件时,也会发生这种情况。
现在,当我通过adb shell运行“cat/proc/cpuinfo”时,所有与intel proc相关的正确信息都在那里。
有人能解释一下这是怎么回事吗?

最佳答案

我的设备(戴尔平板电脑)也有类似问题。
起初,当我的应用程序加载libs(armeabi-v7a)时它崩溃了,然后我发现它的架构不是arm而是x86。
所以我构建了x86的libs,我想在代码中识别设备的体系结构,以决定应该加载哪个libs(arm或x86)。
结果总是ARM而不是x86!啊!
也许它运行类似模拟器的东西来在后台更改类型,因为其他libs仍然是amr类型。
最后,我在libs中创建了一个x86文件夹并构建了所有libs(x86)。
然后它就可以成功运行,并自己从“/proc/cpuinfo”获取正确的信息。

关于android - 在ADB Shell中读取文件'/proc/cpuinfo'并使用'cat/proc/cpuinfo'返回不同的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19281569/

10-10 09:51