Android框架分为四层:kernel、libraries、framework、applications
1. 最低层是linux kernel,主要负责内存管理、进程调度等系统管理以及终端的硬件驱动。Binder driver,google为android设计的一个增强系统的进程间通信能力的模块。
2. Kernel的上一层是libraries,包含了核心库、第三方库和android虚拟机。android并没有直接采用传统的j2se或j2me的java虚拟机,而是自己建立了一个称为dalvik的虚拟机,号称更节省字节码的空间,性能更好。但这也成为了google与sun关于java版权争议点。
以上两层是采用C语言或汇编语言实现的。
3. Framework是android为应用开发者设计的一套软件框架,提供了丰富的api和一些现成的开发元素。Framework是采用java语言实现的。在NDK出来之前,android应用开发者基本上只能用java来开发应用。Android使用JNI连接了libraries和framework。
4. Application就是在framework的基础上开发的各种应用。