- 浏览: 29527 次
- 性别:
- 来自: 广州
最新评论
导读: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.
开源那些事:
在下面的图中,绿色的大部分组件是基于Apache许可证开源,其余基于GPL、LGPL和BSD。
Android框架
在Android开发者网(developer.android.com)上已有不少篇幅来帮助你使用它,在此就不再累述。
标准库
在这里“标准”是指“开发者在开源环境中一般可以使用的”。
App里面是什么
一个Android App包含在一个我们称之为APK的压缩文件夹中,APK并没有什么可说的,需要注意的是Android Manifest——介于App和Android System的接口。
其他
大多数应用是基于Dalvik的,我指的是除了游戏之外的应用。游戏开发者通常希望用C/C++来编写,排斥使用虚拟机,所以他们可以通过Andriod NDK来开发。(编译/杨东杰)
原文:http://www.tbray.org/ongoing/When/201x/2010/11/14/What-Android-Is
以上转自开源中国网站 http://www.oschina.net/bbs/thread/13318
发表评论
-
(转)SQLite入门与分析(六)---再谈SQLite的锁
2010-11-19 00:09 941写在前 面:SQLite封锁机制的实现需要底层文件系统的 ... -
(转)SQLite入门与分析(五)---Page Cache之并发控制
2010-11-19 00:05 1045写在前面:本节主要谈 ... -
(转)SQLite入门与分析(四)---Page Cache之事务处理(3)
2010-11-19 00:01 950Code 写在前面:由于 内容较多,所以断续没有写完的 ... -
(转)SQLite入门与分析(四)---Page Cache之事务处理(2)
2010-11-18 23:57 1140写在前面:个人认为pager层是SQLite实现最为核心的 ... -
(转)SQLite入门与分析(四)---Page Cache之事务处理(1)
2010-11-18 23:53 939写在前面:从本章开始,将对SQLite的每个模块进行讨论。 ... -
(转)SQLite入门与分析(三)---内核概述(2)
2010-11-18 23:48 1300写在前面:本节 是前 ... -
(转)SQLite入门与分析(三)---内核概述(1)
2010-11-18 23:41 795写在前面:从本 章开始, ... -
(转)SQLite入门与分析(二)---设计与概念(续)
2010-11-18 23:38 1039写在前面:本节 讨论事务,事务是DBMS最核心的技术之一 ... -
(转)SQLite入门与分析(二)---设计与概念
2010-11-18 23:35 789写在前面:谢谢各位的 ... -
(转)SQLite入门与分析(一)
2010-11-18 23:31 904写在前面:出于项目的 需要,最近打算对SQLite的内核 ... -
(转)深入研究B树索引(五)续
2010-11-18 15:10 9255.3 重建 B 树索引 ... -
(转)深入研究B树索引(五)
2010-11-18 15:07 11905. 重建 B ... -
(转)深入研究B树索引(四)续
2010-11-18 14:58 9114.2 B 树索引的对于删除( DEL ... -
(转)深入研究B树索引(三、四)
2010-11-18 14:44 7113. B 树索 ... -
(转)深入研究B树索引(二)
2010-11-18 14:20 7562. B 树索引的内部结构 ... -
(转)深入研究B树索引(一)
2010-11-18 14:12 1000摘要: 本文对B 树索引的结构、内部管理等方面做了一个全面 ... -
(转)B树、B-树、B+树、B*树都是什么
2010-11-17 23:46 671B 树 即二叉搜 ... -
画UML图时注意的几个原则(转)
2010-08-03 12:34 1622软件开发中,分析和设计时,文档的编写和思想的交流,经常要绘制各 ... -
你是个软件架构师吗?(转)
2010-07-14 11:11 661开发和架构的界限难以 ... -
(转)同曲异奏——高效能项目团队的五大特点
2010-03-29 00:24 856同曲异奏——高效能项 ...
相关推荐
这是一个基于andriod的阴阳历转换计算器,在这里会用到一些andriod的基础知识,可以用来练手熟悉andriod项目
《多库俄罗斯方块Andriod版本开发详解》 在移动设备上,经典游戏俄罗斯方块的Andriod版本受到了广大玩家的喜爱。本项目“多库俄罗斯方块Andriod版本”提供了一个全面的实现,其中包含了源代码及详细的注释,为...
标题提到的"andriod画界面的工具"主要指的是用于设计Android UI的软件或平台。在描述中反复提到了"非常好用",这暗示了我们讨论的工具具有高效率和易用性。从提供的文件名称列表“droiddraw-r1b20”来看,这可能是...
在描述中反复提到“andriod sdk开发使用的”,这表明该SDK对于Android应用的开发至关重要。文件“installer_r24-windows.exe”很可能是一个Android SDK的安装程序,用于在Windows平台上安装SDK。而“西西软件园.txt...
《ArcGIS for Android Studio 入门与实践》 ArcGIS 是一款强大的地理信息系统(Geographic Information System),由Esri公司开发,广泛应用于地理数据分析、地图制作、空间规划等多个领域。ArcGIS for Android ...
byte转化工具类,可以实现byte转int,数组,string,小端取高位,低位等
在Android开发中,构建Web服务接口(通常称为Web Service)是一项关键技能,它允许移动应用与服务器端的数据进行交互。本实例将引导你了解如何在Android平台上创建和使用Web服务,以便实现数据交换。...
"安卓Andriod源码——-flip类似Flipboard翻转动画的实现.zip"这个压缩包包含了一个实现Flipboard风格翻转动画的项目源码,名为"FlipImageView-master"。这个项目的目标是模拟Flipboard应用中的翻页效果,它是一种...
本压缩包文件"andriod-network.rar_andriod"提供了关于Android网络通信的六种方式的示例代码,帮助开发者更好地理解和实践这些技术。以下是对这六种网络通信方式的详细说明: 1. **HttpURLConnection**: ...
Android Studio是Google官方推出的Android应用开发集成开发环境(IDE),它基于IntelliJ IDEA,提供了丰富的功能和优化,使得Android开发者能够高效地进行代码编写、调试和发布应用程序。本资源是一个专门为Android ...
一款好用的安卓手机路由器模拟软件,安装后不要升级。
"安卓Andriod源码——翻翻乐--抢答--转盘.zip" 提供了三个有趣的互动游戏:翻翻乐(Memory Game)、抢答(Quiz)和转盘(Wheel of Fortune)。这些游戏涵盖了Android应用开发中的多种关键技术点,包括UI设计、事件...
在Android平台上,小程序是一种轻量级的应用程序,它无需安装即可使用,为用户提供便捷的交互体验。这个名为"DouDemo-master"的项目很可能是你基于Android开发的一个小程序示例,用于展示你对Android编程的理解和...
"安卓Andriod源码——乐动力的酷黑旋转引导动画.zip"是一个专注于展示如何在Android应用中实现酷炫、引人入胜的引导动画的源码实例。乐动力是一款知名的健康管理应用,其独特的引导动画设计不仅增加了应用的趣味性,...
虚幻引擎客户端与语言服务器进行简单的通信。它连接到它,记录并将您的语音提供给语言服务器,服务器将识别出的语音作为文本发送回虚幻。 依赖于其他付费科大讯飞云服务 ...支持的开发平台:Andriod
这个名为"安卓Andriod源码——通过手势对图片进行任意放大绽放旋转.zip"的压缩包,显然包含了实现这一功能的具体源代码,即允许用户通过手势操作对图片进行放大、缩小、旋转等动作。这一功能对于图像查看器或编辑器...
Android计算器源码是一个用于开发Android平台上计算器应用的代码资源,它包含了实现基本数学运算以及一些高级功能的逻辑。这个源码对于学习Android编程、UI设计和算法实现具有很高的参考价值。接下来,我们将深入...
在Android平台上开发一款小游戏,如“俄罗斯方块”,涉及到许多重要的技术知识点。下面将详细解析这些关键点: 1. **Android SDK**: Android游戏开发的基础是Android软件开发工具包(SDK),它提供了必要的库、工具...
"Andriod开发之漂亮时钟源代码"项目提供了这样的实践案例,帮助开发者深入理解Android UI设计、时间处理以及自定义组件的构建。 首先,此项目的核心知识点是Android UI设计。Android提供了多种布局(如LinearLayout...
【扫描全能王】是一款专为Andriod系统设计的高效能文档管理应用,它整合了多种功能,使得用户能够在移动设备上轻松实现纸质文件的数字化转换。这款软件的核心亮点在于其强大的扫描和转换能力,能够将传统的文本、...