Android in a nutshell

Android is a Linux-based software stack divided into several layers. Those layers, from down to top are the following:

  • Linux kernel: This is the foundation of the Android platform. This layer contains all the low-level device drivers for the various hardware components of an Android device.
  • Hardware Abstraction Layer (HAL): This layer provides standard interfaces that expose hardware capabilities to the higher-level Java API framework.
  • Android Runtime (ART): It provides a runtime environment for .dex files, a bytecode format designed for minimal memory footprint. ART was the first release on Android 5.0 (see table below). Prior to that version, Dalvik was the Android runtime.
  • Native C/C++ libraries: This layer contains native libraries written in C and C++, such as OpenGL ES for high-performance 2D and 3D graphics processing.
  • Java API framework: The entire feature-set of Android is available for developers through APIs written in Java. These APIs are the building block for creating Android apps, for instance: the View System (for apps UIs), the Resource Manager (for I18N, graphics, layouts), the Notification Manager (for custom alerts in the status bar), the Activity Manager (to manage the apps lifecycle), or the Content Provider (to enable apps access data from other apps, such as the Contacts, and so on).
  • Apps: Android comes with a set of core apps, such as Phone, Contacts, Browser, and so on. In addition, many others apps can be downloaded and installed from Google Play (formerly Android Market):
Android layered architecture

Android has gone through quite a number of updates since its first release, as described in the following table:

Android version

Codename

API level

Linux kernel version

Release date

1.5

Cupcake

3

2.6.27

April 30, 2009

 

1.6

Donut

4

2.6.29

September 15, 2009

 

2.0, 2.1

 

Eclair

5, 6, 7

2.6.29

October 26, 2009

2.2

Froyo

8

2.6.32

May 20, 2010

2.3

Gingerbread

9, 10

2.6.35

December 6, 2010

3.0, 3.1, 3.2

Honeycomb

11, 12, 13

2.6.36

February 22, 2011

4.0

Ice Cream Sandwich

14, 15

3.0.1

October 18, 2011

4.1, 4.2, 4.3

Jelly Bean

16, 17, 18

3.0.31, 3.0.21, 3.4.0

July 9, 2012

4.4

 

KitKat

19, 20

3.10

October 31, 2013

5.0, 5.1

Lollipop

21, 22

3.16.1

November 12, 2014

6.0

 

Marshmallow

23

3.18.10

October 5, 2015

7.0, 7.1

Nougat

24, 25

4.4.1

August 22, 2016

8.0

Android O

26

TBA

TBA

 

From a developer point of view, Android provides a rich application framework, which allows to build apps for mobile devices. Android apps are written in the Java programming language. The Android Software Development Kit (SDK) compile out Java code along with any data and resource files into an .apk (Android package) file, which contains can be installed in Android-powered devices, such as smartphones, tablets, smart TVs, or smartwatches.

For complete information about Android development, visit https://developer.android.com/.

Android Studio is the official IDE for Android development. It is built based on IntelliJ IDEA. In Android Studio, the build process of Android projects is managed by the Gradle build system. During the Android Studio installation, two additional tools can be also installed:

  • Android SDK: This contains all of the packages and tools required to develop Android apps. The SDK Manager allows to download and install SDK for different versions (see the preceding table).
  • Android Virtual Device (AVD): This is an emulator that allows us to model an actual device. The AVD Manager allows to download and install different emulated Android virtual devices grouped into four categories: phones, tables, TV, and wears.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.223.237.29