在ADB shell中读取文件'/ proc / cpuinfo'并使用'cat / proc / cpuinfo'返回不同的值

时间:2013-10-09 20:07:26

标签: android linux shell

我正在尝试从英特尔和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'时,所有与Intel proc相关的正确信息都在那里。

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

1 个答案:

答案 0 :(得分:0)

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

起初,当我的app加载libs(armeabi-v7a)时崩溃了,然后我发现它的架构不是arm而是x86。

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

结果总是手臂不是x86 !!

也许它运行像模拟器之类的东西来改变背景下的类型,因为其他的lib仍然是amr类型。

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

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