Android操作系统分为四层,从最高层到最底层分别是应用程序层、应用框架层、系统运行层和Linux内核层。
- Android应用程序
Android会和同一系列核心应用程序包一起发布,该应用程序包包括客户端、SMS短消息程序、日历、地图、浏览器、联系人管理程序等。所有的应用程序都是使用Java语言编写的。2. Android应用框架
应用层框架为应用开发者提供了用以访问核心功能的API框架。在遵循框架安全性限制的前提下,任何一个应用都可以调用这些核心功能API来发布自己的功能组件。应用框架层提供了各种服务和管理工具,包括了应用开发所需的界面管理、数据访问、应用层的消息传递、应用包的管理、电话管理、位置管理等功能。3. C、C++本地库和Android运行时环境
Android包含了一些C/C++库,这些库能被Android系统中不同的组件使用。他们通过Android应用程序框架为开发者提供服务。如系统C库、媒体库和SQLite库等。 Android运行时环境(Android Runtime)提供核心链接库(Core Libraies)和Dalvik VM虚拟系统(Dalvik Virtual Machine),采用Java开发的应用程序编译成的apk程序代码后,交给Android操作环境来执行。 5. Linux内核
Android是基于不同版本的Linux内核开发出来的,Linux内核层包括系统层安全机制、内存管理、进程管理、网络堆栈及一系列的驱动模块,位于硬件与其他软件层之间,提供与硬件的交互。 以微信为例,它是一个Android操作系统之上的应用程序,位于应用层;微信的运行需要应用层框架的支持,例如:“活动管理器”用来管理程序界面;“内容提供者”用来存储聊天记录;“通知管理器”用来发送消息提醒。这些构件的运行要依赖于下一层的各种库,如聊天记录最终存储在SQLite库中,同时“Android运行时”提供运行时支持,而以上各层都是运行在Linux操作系统内核之上,操作系统内核直接跟底层硬件(处理器、内存、触摸屏以及传感器等)交互。