電腦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