导读: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

转载于:https://www.cnblogs.com/dream550/p/4916263.html

【多图】Google工程师解析Android系统架构--what is android(转载)相关推荐

  1. 重走Android路 之 Android系统架构图以及开发工具了解

    LZ-Says:热腾腾的一天那,貌似今天帝都达到了高温,热腾腾,我滴天...各位老铁注意防暑,多喝水~~~ 前言 昨天更新了一篇启程文,地址如下: 重走Android路 之 今日正式启程:https: ...

  2. Android系统架构及生态链

    目录 一.Android系统架构 二.Android生态链 一.Android系统架构 最底层是 Linux Kernel 层.Android OS 的基石是 Linux Kernel Android ...

  3. Framework学习(一)深入Android 系统架构

    Android系统架构 说到Android,大家都知道他是目前移动市场最大的终端系统,拥有着广阔的市场价值,因此,作为一名开发者,深入了解Android是很有必要. 其实,Android的本质就是在标 ...

  4. Google工程师多图详解Android系统架构

    近日,Google的一位工程师Sans Serif发布了一篇博文非常清楚的描述了Android系统架构,中国移动通信研究院院长黄晓庆在新浪微博上推荐了该文,并认为文中对Android的介绍很好,您可以 ...

  5. Android系统架构图及简单的系统架构介绍

    2019独角兽企业重金招聘Python工程师标准>>> ndroid的系统架构和其操作系统一样,采用了分层的架构.从架构图看,android分为四个层,从高层到低层分别是应用程序层. ...

  6. android系统架构图及各层介绍

    此技术文档主要是从基础了解Android系统架构,便于对以后开发形成一些基本应用架构. Android的系统架构采用了分层架构的思想,如图1所示.从上层到底层共包括四层,分别是应用程序程序层.应用框架 ...

  7. Android系统架构基本模式解析

    Android系统架构总共被分为四层,在这里大家就可以通过介绍对这四个层次进行一个深入的解读,以加深大家对这一系统的认识. 如今,大家面对市场中种类繁多的手机必然挑的眼花缭乱.不过,在智能手机占据主要 ...

  8. android phone驱动_一文带你掌握 Android 系统架构

    引言 本文作为Android系统架构的开篇,起到提纲挈领的作用,从系统整体架构角度概要讲解Android系统的核心技术点,带领大家初探Android系统全貌以及内部运作机制.虽然Android系统非常 ...

  9. Android系统架构开篇

    Android系统庞大且错综复杂,Gityuan带领大家初探Android系统整体架构,一窥其全貌. 一.引言 本文作为Android系统架构的开篇,起到提纲挈领的作用,从系统整体架构角度概要讲解An ...

最新文章

  1. Google Test(GTest)使用方法和源码解析——Listener技术分析和应用
  2. 以太网帧,ARP报文
  3. Angular 2/Ionic 2 @input和@output理解
  4. RESTful设计原则和样例(开发前后台接口)
  5. mysqli mysql error_mysqli常用错误处理函数
  6. html自动滑动轮播代码,html+css+js 实现自动滑动轮播图
  7. 手动编译 lombok_Lombok,一种编译时Java注释预处理器,可最大程度地减少代码大小...
  8. 事业单位的生活是怎么样的?
  9. Excel的python读写
  10. nuget.server搭建及实际测试
  11. 我亦云云——也谈云计算(3)
  12. C# 访问 带密码的access数据库
  13. 遥控直升机主旋翼设定
  14. 阿里云 python_阿里云python sdk
  15. 扬帆凌远:从美妆品牌案例看品牌思维
  16. 读不完《程序员修炼之道》,至少可以读完这70条
  17. let , const , var , 的区别
  18. 编译、汇编、翻译原理知识概括
  19. Vue-cli3更改项目logo图标
  20. Hduoj1011【树状DP】

热门文章

  1. html 内容不被父级包住,解决:父级元素不能被子元素内容撑开的解决办法,父级元素没有高度的解决办法...
  2. java Map及其实现类的底层原理
  3. bzoj 1237: [SCOI2008]配对(DP)
  4. Region proposal学习笔记
  5. [debug] 命令行窗口运行.py文件,报错No module named XXX
  6. 【剑指offer】链表中环的入口
  7. 用python爬取杭电oj的数据
  8. 复利计算——单元测试
  9. 转 java中static{}语句块详解
  10. 软件行业选择大公司还是小公司