一、Android系统架构 java
二、Linux android
Linux层,Android最底层最核心的部分。咱们打款手机Setting,选择about phone选项,这一选项所显示的内核版本,就是咱们所用的Linux内核的版本。 安全
Linux层包含了Android系统的核心服务,包括硬件驱动、进程管理、安全系统,等等。 架构
三、Dalvik 与 ART
Dalvik 包含了一整套的Android运行环境虚拟机,每一个App都会分配Dalvik虚拟机来保证互相之间不受干扰,并保持独立。它的特色是在运行时编译。 框架
打个比方,就比如你买了一辆可折叠的自行车,平时是折叠的,只有骑的时候,才须要组装起来用。 ionic
而在Android5.x版本开始,ART模式已经取代了Dalvik, ART采用的是安装时就进行编译,之后运行时就不用编译了。 测试
就比如你买了辆组装好了的自行车,装好就能够骑了。 网站
固然,对在其虚拟机环境中运行的大部分App来讲,它们都运行着一样的代码。 ui
四、Framework google
包含了整个Android Framework的重点。
五、Standard libraries
包含的是Android的一些标准库,就是开发者在开源环境中可使用的开发库
六、Application
七、Android系统源码
查看系统源码的一个网站:http://androidxref.com/
http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/
Android源码结构:
- Makefile
- bionic (bionic C库)
-bootable (启动引导相关代码)
- build (存放系统编译规则等基础开发包配置)
- cts (Google兼容性测试标准)
- dalvik (dalvik虚拟机)
- development (应用程序开发相关)
- external (android使用的一些开源的模块)
- frameworks (Framework框架核心)
- hardware (厂商硬件适配层HAL代码)
- out (编译完成后的代码输出目录)
- packages (应用程序包)
- prebuilt (x86和arm架构下预编译资源)
- sdk (sdk及模拟器)
- system (底层文件系统库、应用及组件)
- vendor (厂商定制代码)