一、Android的介绍

android介绍见百度百科:Android的介绍,度娘把Android介绍的这么清楚,如果谷歌是Android的爹,那度娘就是娘了。


二、Android的架构图

1.android体系结构介绍_第1张图片


android系统主要分四层:

从上致下:

1、应用层

2、应用框架层

3、核心类库层

4、linux内核层


应用层:

用java开发的应用,分系统应用和非系统应用(开发人员开发的)。

系统应用和非系统应用的区别:

1、系统应用是不能卸载(如果没有root权限)。非系统应用可以卸载。

2、系统应用可以调用更多的API,非系统应用只能调用SDK中的API,有些API,谷歌不让开发者调用,开发者要想使用,只能通过意图Intent调用系统应用。


应用框架层:

是对核心类库调用的实现,核心类库是用C和C++开发,在开发时遵循规则可以用C和C++开发android应用,但这个开发起来成本太高,太费时,比塞班系统的开发还要难,比J2ME的开发还要难,谷歌为了简化开发,就用java写了调用核心类库的方法,把这些方法封装成API给开发者调用。因此,应用框架层是用java写的,是对核心类库层的调用。

因为应用框架层是用java写的,所以应用层首选的开发语言是java。

核心类库层:

为了让安卓系统具备强大的功能,需要强大的类库,这些类库不都是谷歌开发的,大都是比较好的开源项目,谷歌直接拿来用,或者改改直接用。

openglES:游戏开发开源引擎,不是谷歌开发的。
surfaceManager:开源界面管理引擎,不是谷歌开发的。
webkit:开源浏览器内核。不是谷歌开发的。
SGL:开源图形处理引擎,不是谷歌开发的。
SQLITE:android自带的数据库。不是谷歌开发的。

--------------------------------
FreeType:字体库
Media Framework:媒体框架
SSL:基于HTTP的安全协议


因为应用框架层是用java写的,所以android需要java运行时,于是谷歌就在核心类库层增加了core libraries,dvm。

core libraries:

是java的api,对应用层和应用架构层的java提供java环境支持。

DVM:

在2.3之前是直接用JAVA虚拟机JVM的,因为甲骨文起诉谷歌说安卓侵权,谷歌就把JVM改了,开发出了更适合手机的DVM。因为java的程序在运行时需要转码,DVM的功能就是把.class文件转为机器码。


linux核心层:

包含了硬件接口,用于android系统的移植。

各种硬件驱动:显示器驱动,摄像头驱动,闪存驱动,键盘驱动,键盘驱动,wifi驱动,音频驱动,电源驱动。

如果做Android移植,需要学习Linux层,核心类库层,应用框架层。








更多相关文章

  1. [笔记分享] [Android] Android系统概述
  2. Android编译系统的架构 简述
  3. Android 应用框架 —— 组件
  4. [置顶] Android应用开发 第二讲:Android系统构架分析和应用程序目
  5. Android电池管理系统系统分析
  6. android默认系统日期、时间、时区更改
  7. Android Sensor传感器系统架构初探
  8. Android入门学习四:Android系统框架
  9. android资讯类软件框架

随机推荐

  1. MySql某一列累计查询
  2. mysql锁机制之示例讲解
  3. 深入理解MySQL 5.7 GTID系列(十):实际案例二
  4. 如何把mysql服务添加到windows系统服务当
  5. 转!mysql 查询 distinct多个字段 注意!!
  6. 如何在MySQL中创建关系
  7. mysql查询统计连接情况
  8. Django dumpdata无法序列化现有列
  9. mysql5.7.23免安装配置说明in win7
  10. MySQL是一个非常流行的小型关系型数据库