Android Introduction and source code compilation (a)

Source: Internet
Author: User

I. Android Overview

1.1 Introduction

Android is a Linux-based free and open source operating system. It is mainly used for mobile devices, such as smartphones, tablets, TVs, and wearables, led and developed by Google and the Open Mobile Alliance.

The Android operating system was originally developed by Andy Rubin, which mainly supports mobile phones. Google launched its source code for Android in August 2005, by Google's takeover of an Apache open source license.

The first Android smartphone was released in October 2008.

1.2 Android version

  Google changed its naming convention to use dessert as the code name for their system version. The dessert nomenclature began when Android 1.5 was released. The size of the dessert represented as each version becomes larger, and then follows the 26-letter sequence:

Android Version number

Version Code

Chinese

API version

Linux Kernel version

1.5

Cupcake

Paper Cupcakes

3

2.6.27

1.6

Donut

Donuts

4

2.6.29

2.0/2.1

Éclair

Muffins

5/6/7

2.6.29

2.2

Froyo

Frozen yogurt

8

2.6.32

2.3

Gingerbread

Ginger Cake

10

2.6.35

3.0/3.1/3.2

Honeycomb

Hive

13

2.6.36

4.0

Ice Cream Sandwich

Ice Cream Sandwich

15

3.0.1

4.1/4.2/4.3

Jelly Bean

Jelly Bean

16/17/18

3.4.0

4.4

KitKat

KitKat

19

3.4.0

5.0

Lollipop

Candy bar

21st

3.4.0

Current usage rates for each version:

  

1.3 Android Architecture

Android itself is a set of software stacks (software stack), or "Software overlay Architecture", which is divided into three layers: operating systems, middleware, applications.

    • Linux Kernel :

Android4.1 provides core system services based on the Linux Kernel 3.4.0. For example: Security, memory management, process management, network stack, drive model. Linux kernel also acts as an abstraction layer between hardware and software, which hides specific hardware details and provides a unified service for the upper layer.

    • Android Runtime

Android contains a collection of core libraries that provide most of the functionality available in the core class library of the Java programming language. Each Android application is an instance of a Dalvik virtual machine that runs in their own process. Dalvik virtual machines are designed to efficiently run multiple virtual machines on a single device. Dalvik virtual machine executable file format is. dex, the DEX format is a compression format designed for Dalvik and is suitable for systems with limited memory and processor speed. Dalvik virtual machines rely on the Linux kernel to provide basic functionality, such as threading and underlying memory management.

    • Libraries
      • Android consists of a collection of C + + libraries that are used by various components of the Android system. These features are exposed to developers through the Android application framework (application framework). Some of the core libraries are listed below:
      • System C Library-BSD derivative of standard C system library (LIBC), tuned to embedded Linux based devices
      • Media Library-Opencore based on PacketVideo. These libraries support the playback and recording of many popular audio and video formats, as well as still image files, including MPEG4, H, MP3, AAC, AMR, JPG, PNG
      • Interface Management--manage access to display subsystems and seamlessly combine multiple applications in two-and three-dimensional graphics layers
      • libwebcore--a new web browser engine that drives Android browsers and embedded web views
      • sgl--Basic 2D Graphics engine
      • 3D Library--based on the implementation of OpenGL ES 1.0 APIs. Library uses hardware 3D acceleration or contains highly optimized 3D software gratings
      • freetype--bitmap and Vector font rendering
      • sqlite--powerful and lightweight relational database engine that can be used by all applications
    • Application Framework

By providing an open development platform, developers can fully use the framework APIs used by the core applications. The architecture of an application is designed to simplify the reuse of components, and any application can publish his functionality and any other application can use these features (subject to the security restrictions enforced by the framework). All applications are actually a set of services and systems, including:

      • View--a rich, extensible collection of views that can be used to build an application. Includes lists, grids, text boxes, buttons, and even inline web browsers
      • Content Providers-Enables applications to access data from other applications (such as newsletters) or share their own data
      • Resource Manager (Resource Manager)-provides access to non-code resources such as localized strings, graphics, and layout files
      • Notification Manager (Notification Manager)--Enables all applications to display a custom warning in the status bar
      • Activity Manager-manages the application lifecycle, providing a common navigation fallback feature
    • Applications

Android assembles a collection of core applications, including email clients, SMS programs, calendars, maps, browsers, contacts, and other settings. All applications are written in the Java programming language.

the following article records Android Introduction and source code compilation---Ubuntu installation and setup.

Android Introduction and source code compilation (a)

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.