Android system architecture is composed of four layers, the first layer of the Linux kernel, mainly including Linux drivers and memory management, process management, power management and other programs. and different Android versions of the driver may not be universal. The second layer is the C + + code base, which consists mainly of code libraries (. So files under Linux) that are written in C + +, as well as the runtime (runtime) of the. Dalivak virtual machine. The third layer is the Android SDK API, which is a library of various libraries written in Java and is based on the Dalvik virtual machine format. The fourth tier is the application, a layer of Android users, both programmers and non-programmers will be exposed to, this layer is equivalent to the Android UI, and this layer relies on the three layer of the Android SDK API to complete a variety of functions.
Android system transplantation is mainly divided into application transplantation and system transplantation.
System porting refers to having the Android operating system run on a particular hardware platform.
The main tasks of Android porting are: Porting Linux drivers, porting HAL.
To view the kernel version of the method:
1.uname–a
2.cat/proc/version
Linux divides memory and peripherals into 3 categories: Character devices (devices that are accessed in serial order, such as touch screens, tape drives, mice, keyboards, etc.), block devices (System-fast buffering), network devices (designed to receive and send packets), and do not correspond to file system nodes.
The Linux kernel version number consists of a major version number, a minor version number, a revision number, a fine-tuning version number, and a special tuning description for a particular Linux system.
Android Deep Exploration (Vol. 1) HAL and Driver Development--Reading notes (chapter I)