pengwang  

  电脑CPU分32位和64位,这个我们都知道。用了这么长时间的android手机,突然有个疑问:android OS运行在多少位的CPU上呢?

 

  android应用程序是基于Dalvik VM运行的,像JVM一样,DVM也是32位的,这个与底层物理机器无关。当然,带有native二进制文件的andriod应用程序,其native文件是与底层构架密不可分的。最常见的是ARM-32位构架,也还有运行在x86,MIPS构架上的设备。

总的来说,现在的android手机都是运行在32位CPU上的,ARM在2012年底的时候才发布第一个64位的版本,Cortex-A50,预计2014年在市场上发售。

  可以通过以下实验验证

  从手机中任意导出ARM的二进制文件,比如/system/bin中的一些个文件,/system/bin/dalvikvm,使用命令file dalvikvm查看文件类型,结果如下:

dalvikvm: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), stripped

继续查看动态链接库文件/system/lib/libandroid_runtime.so,使用file命令,结果如下:

libandroid_runtime.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, stripped

文件类型都是32位elf格式

 

相关链接:http://android.stackexchange.com/questions/36291/is-android-a-32-bit-or-64-bit-os

posted on 2013-03-11 19:06  pengwang  阅读(7327)  评论(1编辑  收藏  举报