Android的系统架构

1、安卓系统分为四层,分别是Linux内核层、Libraries层、FrameWork层,以及Applications层;

其中Linux内核层包含了Linux内核和各种驱动;

Libraries层包含各种类库(动态库(也叫共享库)、android运行时库、Dalvik虚拟机),编程语言主要为C或C++

FrameWork层大部分使用java语言编写,是android平台上Java世界的基石

Applications层是应用层,我们在这一层进行开发,使用java语音编写

2、Dalvik VM和传统JVM的区别:

传统的JVM:编写.java文件 à 编译为.class文件 à 打包成.jar文件

Dalvik VM:  编写.java文件 à 编译为.class文件 à 打包成.dex文件 à 打包成.apk文件(通过dx工具)

       将所有的类整合到一个文件中,提高了效率。更适合在手机上运行

1、Linux内核层[LINUX KERNEL]:

包含Linux内核和驱动模块(比如USB、Camera、蓝牙等)。

Android2.2(代号Froyo)基于Linux内核2.6版本。

2、Libraries层[LIBRARIES]:

这一层提供动态库(也叫共享库)、android运行时库、Dalvik虚拟机等。

编程语言主要为C或C++,所以可以简单的看成Native层。

3、FrameWork层[APPLICATION FRAMEWORK]:

这一层大部分用java语言编写,它是android平台上Java世界的基石。

4、Applications层[APPLICATION]:应用层

如图所示:

系统分层的图整体简化为下面的一张图,对应如下:

FrameWork层       --------à        Java世界

Libraries层           --------à        Native世界

Linux内核层         --------à        Linux OS

Java世界和Native世界间的通信是通过JNI层

JNI层和Native世界都可以直接调用系统底层

原文地址:https://www.cnblogs.com/mylanlan-802888/p/4324897.html