Google engineers parse Android system architecture

Source: Internet
Author: User

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 think the introduction to Android in this article is very good.ArticleSimple Compilation:

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, they will also be integrated into the first-layer LinuxCodeAnd public components.

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. When JavaProgramAfter compilation, you also need to convert the SDK to. Dex format to execute on the VM.

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. I mean 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.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.