This article introduces the Android architecture, understanding thoroughly, article address: http://www.searchsoa.com.cn/showcontent_43067.htm
Sans Serif, a Google Engineer, recently published a blog post describing the Android system architecture. Huang Xiaoqing, President of China Mobile Communications Research Institute, recommended this article on Sina Weibo, I also think that the introduction to Android in this article is good, and the following is a simple compilation of the article:
What is Andriod?
First, as Dan Morrill, Android open-source and compatibility Technical Director, explained in the compatibility section of the Android development manual, "Android is not a standard or distribution version of the traditional Linux style, it is not a series of reusable component integration. Android is a software block used to connect devices."
Linux:
The underlying layer of everything is a stable and updated Linux kernel (I am using the 2.6.32 kernel for Nexus phones) and our well-developed energy management components; of course, there are also extensions and public components that integrate the top-layer Linux code.
Dalvik:
Another important part of Android is virtual machines and a set of important runtime environments. It is a very clever design and is a very good underlying application of a mobile phone terminal.
How to generate code?
The Dalvik Virtual Machine only executes. dex executable files. After the Java program is compiled, it must be converted to the. dex format by using the tools in the SDK before it can be executed on the virtual machine.
I need to emphasize that the Android Application itself can be viewed as code that can run and call APIs on the platform. Therefore, you do not need to pay special attention to how code is generated.
Special Apps:
In the figure, some Apps Based on the Dalvik Virtual Machine look like a part of Android, which are actually provided by Google, including Dialer, Contact, Calendar AR, Gmail, and Chat. Most of them are open-source and reusable. There are only a few exceptions, such as Google Maps and Android Market.
Open Source:
In the figure below, most of the green components are open-source based on the Apache license, while the rest are based on GPL, LGPL, and BSD.
Android framework
There is a lot of space on the Android Developer Network (pai.android.com) to help you use it, so I will not go into details here.
Standard Library
Here, the "standard" refers to "developers can generally use it in an open-source environment ".
What is in the App?
An Android App is contained in a compressed folder called APK. There is nothing to say about APK. Please note that Android Manifest is an interface between App and Android System.
Others
Most applications are based on Dalvik, and I am referring to applications other than games. Game Developers usually want to write in C/C ++ instead of using virtual machines, so they can use Andriod NDK for development.
This figure is a post-configuration, which gives us a better understanding of the Android system architecture!