Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Android Architecture

Android is a mobile operating system that has an open-source framework and is


based on Linux which helps us to develop advanced and user-friendly
applications.

Android architecture is a software stack of components to support mobile device


needs. Android software stack contains a Linux Kernel, collection of c/c++ libraries
which are exposed through an application framework services, runtime, and
application.

Following are main components of android architecture those are

1. Linux Kernel
2. Platform Libraries
3. Android Runtime
4. Android Framework
5. Applications
Linux Kernel

Linux kernel is the bottom-most and important layer of the Android architecture
and it is the core part of Android architecture.

It provides features such as:

 Security
 Process management
 Memory management
 Device management
 Multitasking

It is also responsible for a level of abstraction between device hardware and


upper layers of Android architecture. It consists of device drivers like camera,
flash memory, Display, keypad, Wifi etc.

Platform Libraries

The Platform Libraries includes various C/C++ core libraries (native codes and
require native libraries) and Java-based libraries such as SSL, libc, Graphics,
SQLite, Webkit, Media, Surface Manger, OpenGL, etc. to provide support for
Android development.

The following are the summary details of some core android libraries available for
android development.

 Media library for playing and recording audio and video formats
 The Surface manager library to provide a display management
 SGL and OpenGL Graphics libraries for 2D and 3D graphics
 SQLite is for database support and FreeType for font support
 Web-Kit for web browser support and SSL for Internet security.
Android Runtime

Android Runtime environment is an important part of Android rather than an


internal part and it contains components like core libraries and the Dalvik virtual
machine. The Android run time is the engine that powers our applications along
with the libraries and it forms the basis for the application framework.

Dalvik Virtual Machine (DVM) is a register-based virtual machine like Java Virtual
Machine (JVM). It is specially designed and optimized for android to ensure that a
device can run multiple instances efficiently. It relies on the Linux kernel for
threading and low-level memory management.
The core libraries in android runtime will enable us to implement android
applications using standard JAVA programming language.

Application Framework

The application framework built on top of the native library layer provides us with
Application programming interface and higher-level services. Also, the features of
the Android operating system are available to us through API’s written in form
of JAVA classes. And, Android developers use these high-level services to build
applications.

It also consists of an Android Hardware Abstraction Layer (HAL) that allows the
Android Application framework to communicate with hardware-specific device
drivers. It acts as an interface for hardware vendors to implement. An android
application uses HAL APIs to get commands from different hardware devices.

The application framework consists of following key services:

 Activity Manager: The method in this class uses testing and debugging
methods.
 Content provider: It provides data from application to other layers.
 Resource Manager: It provides access to non-code resources.
 Notification Manager: The users get notification about all the actions
happening in the background.
 View System: It acts as a base class for widgets and is responsible for event
handling.
Applications

It is the top-most layer of Android architecture. This layer consists of native


Android applications and third-party installed apps. They are bundled in an
Android package and all the applications that are to be installed are written in this
layer only such as contacts, games, settings, and messages.

You might also like