Introduction: Sans Serif is an engineer of Google, recently released a blog post very clearly described the Android system architecture, China Mobile Communications Research institute Dean Mr. Bill Huang on Sina Weibo recommended the article, and that the article on Android is very good, The following is a simple compilation of the article CSDN:
What is Andriod?
First, just like Android Open source and compatibility technology leader Dan Morrill explained in the compatibility section of the Android Development Manual, "Android is not a specification or distribution version of traditional Linux style, nor is it a series of reusable component integrations, Android is a block of software used to connect devices. ”
Linux:
The bottom of everything is a stable, updated Linux kernel (the Nexus phone I use now is 2.6. Version 32 of the kernel), as well as our well-crafted energy management components, and of course, extensions and common components that integrate them into the upper Linux code.
Dalvik:
Another important part of Android, including virtual machines and a set of important operating environments. Its design is very ingenious, is a very good mobile phone terminal of the bottom application.
How is the code generated?
The Dalvik virtual machine executes only the. Dex executable file. When the Java program is compiled, it needs to be converted to. dex format by the tools in the SDK to execute on the virtual machine.
What I need to emphasize is that the Android app itself is visible as code that can run on the platform and invoke the APIs, so there's no need to be very careful about how the code is generated.
Special Apps:
Some of the Dalvik virtual machine-based apps look like part of Android and are actually provided by Google, including dialer, contact, Calendar, 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 those things:
In the figure below, most of the green components are open source based on the Apache license, the remainder based on GPL, LGPL, and BSD.
Android Frame
There's already a lot of space on the Android Developer Network (developer.android.com) to help you use it, and no more.
Standard library
"Standard" here means "developers are generally available in open source environments."
What's Inside the app
An Android app is included in a zipped folder that we call APK, and there's nothing to say about it, but it's important to note that Android manifest--is an interface between app and Android system.
Other
Most applications are based on Dalvik, and I mean apps other than games. Game developers often want to write in C + +, rejecting the use of virtual machines, so they can be developed through the Andriod NDK.