1. When it comes to Android's architecture, it may be the first to think of the following well-known picture
(1) Application layer (applications): The application layer is mainly the core application package, such as telephone, SMS, map, e-mail and so on. The corresponding source code package under the Packages/apps , which contains a variety of application of the source code
(2) Application framework layer (Application framework): This layer is the foundation of Android application development, including the view manager, telephone manager, and so on, but also provides the four components of Android. This layer is primarily about providing APIs similar to those used by various components. the corresponding source code directly under the frameworks, which contains the base package , contains some of the framework of the basic codes, extensive use of C + + written
(3) System Library layer: This layer mainly consists of two parts, one is the system library, and the other is the Android runtime.
The Android runtime is simple, mainly includes the core library and Dalvik virtual machine, the core library contains most of the Java language required functions, but also contains the Android core library. Dalvik virtual machine Mainly completes the life cycle management, thread management, stack management, garbage collection mechanism and corresponding security and exception management.
The system library consists of 9 subsystems, which is the system shown
Android runtime core libraries corresponding source package in the root directory of the Libcore
Android under the Dalvik virtual machine corresponding to the source package in the root directory of the Dalvik
The source package corresponding to the system library is the root directory of the Bionic
(4) Linux kernel layer: Android Core system services are dependent on the Linux kernel, such as memory, process management, driver model and network protocol stack. The kernel layer is also the abstraction layer of hardware and software, some drivers, such as video card, keyboard, webcam, WiFi and so on.
The source code for this layer is kernel in the root directory.
The hardware abstraction layer (HAL) corresponds to the hardware under the root directory
A more detailed catalogue can be seen in this blog: http://blog.csdn.net/fengliang191/article/details/40678731
android--Architecture and Source Package introduction