0% found this document useful (0 votes)
56 views4 pages

Android Architecture

Uploaded by

kafab
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
56 views4 pages

Android Architecture

Uploaded by

kafab
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Android Architecture

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. Applications
2. Android Framework
3. Android Runtime
4. Platform Libraries
5. Linux Kernel

In these components, the Linux Kernel is the main component in android to provide its
operating system functions to mobile and Dalvik Virtual Machine (DVM) which is responsible
for running a mobile application.
 
Following is the pictorial representation of android architecture with different components.
 
Android operating system is a stack of software components which is roughly divided into five
sections and four main layers

Applications

✔ The top layer of the android architecture is Applications. The native and third-party

applications like contacts, email, music, gallery, clock, games, etc. whatever we will
build those will be installed on this layer only.

✔ The application layer runs within the Android run time using the classes and services

made available from the application framework. 

Application Framework

✔ The Application Framework provides the classes used to create Android applications. It

also provides a generic abstraction for hardware access and manages the user interface
and application resources. It basically provides the services through which we can create
a particular class and make that class helpful for the Application creation.

✔ The application framework includes services like telephony service, location services,

notification manager, NFC service, view system, etc. which we can use for application
development as per our requirements.

The Android framework includes the following key services −


● Activity Manager − Controls all aspects of the application lifecycle and activity
stack.
● Content Providers − Allows applications to publish and share data with other
applications.
● Resource Manager − Provides access to non-code embedded resources such
as strings, color settings and user interface layouts.
● Notifications Manager − Allows applications to display alerts and notifications
to the user.
● View System − An extensible set of views used to create application user
interfaces.
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.

Platform Libraries
The Platform Libraries includes various C/C++ core 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.

Linux Kernel
Linux Kernel is a bottom layer and heart of the android architecture. It manages all the drivers
such as display drivers, camera drivers, Bluetooth drivers, audio drivers, memory drivers, etc.
which are mainly required for the android device during the runtime.
 
The Linux Kernel will provide an abstraction layer between the device hardware and the
remainder of the stack. It is responsible for memory management, power management, device
management, resource access, etc.

Android Libraries
This category encompasses those Java-based libraries that are specific to Android
development. Examples of libraries in this category include the application framework libraries
in addition to those that facilitate user interface building, graphics drawing and database
access. A summary of some key core Android libraries available to the Android developer is as
follows −
● android.app − Provides access to the application model and is the cornerstone of all
Android applications.
● android.content − Facilitates content access, publishing and messaging between
applications and application components.
● android.database − Used to access data published by content providers and includes
SQLite database management classes.
● android.opengl − A Java interface to the OpenGL ES 3D graphics rendering API.
● android.os − Provides applications with access to standard operating system services
including messages, system services and inter-process communication.
● android.text − Used to render and manipulate text on a device display.
● android.view − The fundamental building blocks of application user interfaces.
● android.widget − A rich collection of pre-built user interface components such as
buttons, labels, list views, layout managers, radio buttons etc.
● android.webkit − A set of classes intended to allow web-browsing capabilities to be
built into applications.

You might also like