最近,Google的工程师SansSerif发表了一篇博文,非常准确地描述了Android系统架构。中国移动通信研究院院长黄小青在新浪微博上介绍了这篇文章,指出文中对Android的解释非常好。你可以看看谷歌工程师眼中的安卓系统架构是什么样子的。
以下是SansSerif博文的翻译:Andriod是什么?首先,正如Android开源与兼容技术负责人丹莫里(DanMorrill)在Android R&D手册的兼容部分所解释的,Android不是传统Linux风格的规范或发布版本,也不是一系列可以被重视的组件。Android是用作连接设备的软件块。
Andriod是什么?Linux中一切的底层都是一个稳定的、经过修改的Linux内核(我现在用的Nexus手机是2.6.32版的内核)和我们精心打造的能源管理组件;当然,也有扩展和通用组件将它们集成到上层Linux代码中。DalvikAndroid的另一个最重要的部分还包括虚拟机和一组最重要的操作环境。它的设计非常精致,是一款手机终端底层的好应用。
代码是怎么分解的?Dalvik虚拟机只继续执行的可执行文件。德克斯。
Java程序通过编译器的时候,最后一定要转换成。在它可以继续在虚拟机上执行之前,由SDK中的工具进行索引格式。我必须强调的是,Android是应用在可以视为在平台上操作、调用API的代码上的,没必要特别关注如何分解代码。
尤其是图中的Apps,一些基于Dalvik虚拟机的app好像是安卓的一部分,只是被谷歌收购了,这些应用还包括Dialer、Contact、Calendar、Gmail、Chat等。大部分都是开源的,适应性强。
只有几个值得注意,比如谷歌地图和安卓市场。下图中,大部分绿色组件都是基于Apache许可的开源,其余都是基于GPL、LGPL和BSD。开源的安卓系统框架在安卓开发者网络(developer.android.com)上有很多页面可以帮助你使用它,所以这里仍然描述它。这里的Android框架标准库是指开发者在开源环境下一般可以使用的标准。
App里有什么?一个安卓系统包含在一个名为APK的传输文件夹中。APK无话可说。必须注意的是,AndroidManifest是APP和AndroidSystem之间的一个模块。App里面是什么(1)App里面是什么(2)其他大部分应用都是基于Dalvik的,我指的是游戏以外的应用。
游戏开发者一般都期望用C/C编写,但是对虚拟机抱有敌意,所以可以通过AndriodNDK开发。。
本文来源:首页-www.headroomgate.com