Android's system architecture has four layers, they are: Liunx kernel, C + + code base, Android SDK API, should program.
Android is based on the Liunx kernel, so it differs from the core parts of some liunx systems even if there are differences. In this layer, Android includes liunx drivers as well as memory management, process management, power management and other programs. Where Android is using Liunx2.6 as the kernel. Different versions of Android use different kernels and their drivers may not be generic.
The Android code base for C + + is primarily used by the codebase that makes the C + + write.
The Android SDK API, written in Java, is essentially a library of various libraries written in Java. Where the library is based on the Dalvik virtual machine format.
Android apps are equivalent to the Android UI. The app includes a photo, phone, SMS, and more.
Android system porting can be divided into two parts: application porting and system porting.
Application porting is the porting of apps that have been developed on the computer to mobile phones, and system porting means getting Android
The operating system runs on a particular hardware platform. To enable the hardware platform to run with the CPU architecture first to support the hardware platform, not only to let adroid support CPU architectures but also to enable him to identify the platform of various hardware.
The liunx divides memory and peripherals into 3 categories: Character devices, block devices, and network devices.
Character devices are those that must be sequentially accessed in sequential order, and block devices are those that operate in blocks. The character devices are in any order.
Android Drive porting and Driver development overview