(1)应用层:
应用层,是由运行在Android上面的所有App组成,包括系统应用和第三方应用。大多数都是java编写的,另外一些使用c/c++编写的本地应用。
应用的开发都通过应用层提供的API
(2)应用框架层:就是各种用库搭建成的框架
应用框架层提供了应用开发需要的API。一般由java编写,可以称为Java Framework。提供的主要组件有:
Activity Manager、Location Manage…
(3)系统运行时库层
分为两个部分:类库层Libraries(C/C++程序库) 和 Android 运行时库
类库Libraries(C/C++程序库)
可以被Android系统中不同的组件使用,并通过应用程序框架为开发者提供服务,主要的类库有:
OpenGL、Libc、SQlite等
Android运行时库:
Android Runtime又分为核心库和Devik虚拟机(据说被ART取代了)
核心库:核心库提供了Java语言核心库的大多数功能,使得开发者可以使用Java来编写应用
ART:相对于Delvik在每次应用运行的时候都需要 将字节码通过 即时编译器 转换成机器码,ART在第一次安装的时候就预先将字节码编译成机器码1,使其成为本地应用
(4)Linux内核层:
提供了基本的系统功能,包括了进程、内存和设备的管理
此外,linux内核层和系统运行时库层中间好像还有一个硬件抽象层