1. Android system architecture is divided into Linux kernel, C + + code library, Android SDK API, Application layer four.
2. Android porting can be divided into application porting and system porting. Application porting refers to porting an application to a specific hardware platform. System porting refers to having the Android operating system run on a particular hardware platform (the first condition is that the operating system supports the CPU architecture of the hardware platform). The primary task of the system porting is to migrate the Linux driver and HAL (Hardware Abstraction Layer: The hardware abstraction level between the application and the driver).
3. The Linux kernel mainly maintains the Linux2.4, Linux2.6, linux3.x three versions.
Linux2.4 and Linux2.6 two ways to view versions: A.uname-a b.cat/proc/version.
linux3.x View version: Device--about phone.
4. Linux kernel version definition:
Example: 2.6.29.7-FLYKEMEL-12A 2 is the main version number, the 6 is the minor version number, 29 is the revision number, 7 is the fine-tuning version number, flykemel-12a for the Flykemel adjustment.
5. Memory and peripherals are divided into character devices (Character devices: Serial sequential access, without system fast buffering), block devices (blocks devices: Any sequential access, system-fast buffering), network devices (networks devices).
6. File system Operation excuse: open, close, read, write and other functions.
7. Linux driver: LED.
Android system porting and Driver Development Overview Chapter I.