BKJIA has provided a detailed introduction to the architecture of kuaidi In the Android operating system. Here, we will continue to introduce you to this topic. This article will introduce the related concepts of the Android core module in detail.
- Summary of key Android development experiences
- Detailed steps of the Android build Module
- In-depth analysis of the Android File System
- Android phone Functions
- Android sharing feature source code
Android is a mobile device platform. Its software hierarchy includes an operating system OS, MiddleWare, and Application ).
According to the software diagram of Android, the Android core module structure is divided into the following layers from the bottom up:
First, operating system layer OS)
Ii. Libraries) and Android RunTime environment RunTime)
Third, Application Framework)
4. Application)
The following describes the key points of Andoid software and related technologies:
● OS at the operating system layer of the Android Core Module)
Android uses Linux2.6 as the operating system. Linux2.6 is a standard technology, and Linux is also an open operating system. Android's use of the operating system includes the core and the driver. Android's Linux core is the standard Linux2.6 kernel, and Android requires more drivers related to mobile devices. The main driver is as follows:
Display Driver): Frame Buffer Based on Linux is commonly used.
Flash Memory Driver)
Camera-driven Camera Driver): Linux-based v4lVideo for drivers are commonly used.
Audio Driver): Commonly Used drivers based on ALSAAdvanced Linux Sound Architecture and advanced Linux Sound system.
WiFi drive Camera Driver): Driver Based on IEEE 802.11 standard
KeyBoard Driver)
Bluetooth Driver)
Binder ipc driver: Andoid is a special driver with a separate device node that provides inter-process communication.
Power Management Energy Management)
● Libraries of the Android core module Libraries) and Android RunTime Environment)
This level corresponds to a General Embedded System, which is equivalent to a middleware level. Android has two levels: one is a variety of libraries and the other is the Android runtime environment. Content of this layer
Mostly implemented using C ++.
Among them, various libraries include:
Objective C: a standard library of C language, which is also the most underlying library in the system. C library is implemented through Linux system calls. Middleware Multimedia Framework MediaFrameword): This part of content is the core of Android multimedia, based on PacketVideo (PV) OpenCORE. This library consists of two parts, one part is the PlayBack of audio and video, and the other part is the Recorder of audio and video records ).
▅ SGL: 2D image engine.
Secure SSL: the Secure Socket Layer is located between the TCP/IP protocol and various application Layer protocols, providing security support for data communication.
▅ OpenGL ES 1.0: This section provides 3D support.
Graphic Interface Management Tool Surface Management): This section provides functions for the Management and display subsystem.
▅ SQLite: A General Embedded Database
WebKit: the Core of Web browsers
▅ FreeType: bitmap and vector font functions.
Android libraries are generally provided in the form of system middleware. A notable feature of these libraries is that they are closely related to the applications of mobile device platforms.
The Android runtime environment mainly refers to the virtual machine technology Dalvik. Dalvik Virtual Machine and general Java Virtual Machine java vm), it executes not Java standard bytecode) But Dalvik executable format. dex) in the execution file. In the Process of execution, each application is a Process of a Process in Linux ). The biggest difference between the two is that Java VM is Stack-based virtual machine, while Dalvik is Register-based virtual machine Register-based ). Obviously, the biggest advantage of the latter is that it can achieve greater Optimization Based on hardware, which is more suitable for the characteristics of mobile devices.
● Application Framework of the Android core module)
The Android Application Framework provides APIs for developers at the application layer. It is actually an application framework. Because the upper-layer applications are built in JAVA, this layer first contains the various controls required in the UI program:
For example, Views (view components) include lists, grids, text boxes, and buttons. Even an embedded Web browser.
An Andoid application can take advantage of the following parts in the application framework:
Activity)
Broadcast Intent Receiver)
Service)
Content Provider)
● Application of the Android core module)
Android applications are mainly User interfaces), which are usually written in JAVA and can contain various resource files in the res directory) after the JAVA program and related resources are compiled, an APK package is generated. Android provides many core applications such as Home, Contact, Phone, and browser Browers. At the same time, application developers can use APIs at the application framework layer to implement their own applications. This is also a manifestation of the huge potential of Android open source.