background image

        Google 工程师解析 Android 系统架构

导读:

Sans Serif 是 Google 的一位工程师,近日发布了一篇博文非常清楚的描述了 Android

系统架构,中国移动通信研究院院长黄晓庆在新浪微博上推荐了该文,并认为文中对
Android 的介绍很好,如下是 CSDN 对文章的简单编译:

Andriod 是什么?

首先,就像

Android 开源和兼容性技术负责人 Dan Morrill 在 Android 开发手册兼容性部分

所解释的,

“Android 并不是传统的 Linux 风格的一个规范或分发版本,也不是一系列可重

用的组件集成,

Android 是一个用于连接设备的软件块。”

§

Linux

所 有 东 西 的
底 层 是 一 个
稳 定 的 保 持

Linux 内 核
( 我 现 在 用

Nexus 手

机 所 用 的 就

2.6.32 版

的 内 核 ) ,
以 及 我 们 精
心打造的能源管理组件;当然还有将它们整合至上层

Linux 代码的扩展和公共组件。

Dalvik

Android 另一个重要的部分,包括虚拟机和一组重要的运行环境。它的设计非常巧妙,是个
很好的一个手机终端的底层应用。

代码如何生成?

Dalvik 虚拟机只执行.dex 的可执行文件。当 Java 程序通过编译,最后还需要通过 SDK 中的
工具转化成

.dex 格式才能在虚拟机上执行。

我需要强调的是,

Android 应用本身就可视作可在平台上运行并调用 APIs 的代码,所以对

代码如何生成不需特别看重。

特别的

Apps

在图中有些基于

Dalvik 虚拟机的 Apps 看起来像是 Android 的一部分,其实是由 Google 提

供,这些应用包括

Dialer、 Contact、Calendar、Gmail 和 Chat 等。它们中的绝大部分是开源并

可复用的。只有少部分例外,比如

Google Maps 和 Android Market.