2

我正在尝试从 Intel 和 Android cpu 设备获取 CPU 信息。我在代码中运行它:

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

然后逐行读取输出。奇怪的是这是显示 ARM 信息,例如:

Processor   : ARMv7 processor rev 1 (v7l)

当您从 IO 读取文件时也会发生这种情况。

现在,当我通过 ADB shell 运行“cat /proc/cpuinfo”时,与英特尔 proc 相关的所有正确信息都在那里。

谁能解释这里发生了什么?

4

1 回答 1

0

我的设备(戴尔平板电脑)也有类似的问题。

一开始,当我的应用加载libs(armeabi-v7a)时它崩溃了,然后我发现它的架构不是arm而是x86。

所以我构建了 x86 的库,我想在代码中识别设备的体系结构,以决定应该加载哪些库(arm 或 x86)。

结果总是 arm 而不是 x86 !!

也许它运行类似模拟器的东西在后台更改类型,因为其他库仍然是 amr 类型。

最后,我在 libs 中创建了一个 x86 文件夹并构建了所有 libs(x86),

然后它可以成功运行并自行从“/proc/cpuinfo”中获取正确的信息。

于 2014-08-05T10:47:25.940 回答