1.android体系结构介绍

版权声明:有问题咨询请发邮件[email protected]。CSDN的留言和私信不好使。 https://blog.csdn.net/zengmingen/article/details/79041517

一、Android的介绍

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

二、Android的架构图

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层,核心类库层,应用框架层。

猜你喜欢

转载自blog.csdn.net/zengmingen/article/details/79041517