-
Application framework: 可重用的和可替换的组件部分,在这个层面上,所有的软件都是平等的。
-
Dalvik virtul machine: 一个基于Linux 的虚拟机。
-
Integrated browser: 一个基于开源的WebKit 引擎的浏览器,在应用程序层。
-
Optimized graphics: 包含一个自定义的2D 图形库和基于OpenGL ES 1.0 标准的3D 实现。
-
SQLite: 数据库
-
Media support: 通用的音频,视频和对各种图片格式的支持(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
-
GSM Telephony: GSM 移动网络, 硬件支持。
-
Bluetooth, EDGE, 3G, and WiFi: 都依赖于硬件支持。
-
Camera, GPS, compass, and accelerometer: 都依赖于硬件支持。
-
Rich development environment: 包含一套完整的开发工具集,方便跟踪调试。
内存检测和性能测试,而且提供了Eclipse 的插件。最底层的是一个Linux Kernel,加载了几个移动设备必要的系统驱动(这么说来Android 基础系统是要以GPL 发布了?不知道34 家厂商的硬件开发商们是怎么样想的);上面是类库和Runtime,绿色的类库部分可以看到大名鼎鼎的SQLite,这个软件甚至声称自己属于公共领域(比MIT License 还要强@@),字体FreeType 是BSD-style License 的,图形库OpenGL ES 只需通过产品测试,无偿使用于产品。
再向上看是应用层的东西了,这里可以做的事情就非常多了,各个社区,各个厂家都可以参与进来。难怪Android 的sdk可以Apache License 发布了,对企业和开发人员友好啊。那么Google 自己的东西在哪里呢?没错,就是右边那个runtime,最吸引技术人员的就是这个runtime(注意,这个才是Android 的核心)。
Google 为它准备了一个虚拟机,叫做Dalvik。
这个让人摸不着头脑的东西的到底是什么?从开发平台上我们清清楚楚地得到了答案:Java。