0% found this document useful (0 votes)
3 views14 pages

Android Softwarestack

The Android software stack consists of five sections and four main layers, starting from the Linux kernel at the base, which manages hardware and system resources. Above the kernel are native libraries that provide core functionalities, followed by the Android Runtime with the Dalvik Virtual Machine for executing applications. The top layer is the Android Framework, which offers APIs for application development, culminating in user applications that utilize all underlying layers.

Uploaded by

varshamohan7
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)
3 views14 pages

Android Softwarestack

The Android software stack consists of five sections and four main layers, starting from the Linux kernel at the base, which manages hardware and system resources. Above the kernel are native libraries that provide core functionalities, followed by the Android Runtime with the Dalvik Virtual Machine for executing applications. The top layer is the Android Framework, which offers APIs for application development, culminating in user applications that utilize all underlying layers.

Uploaded by

varshamohan7
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

Android Software Stack

• A solution stack or software stack is a set of software systems


or components needed to create complete platform such that
no additional software is needed to support applications
• Android OS is a stack of software components which is
divided into 5 sections and 4 main layers
• Linux kernel
• Native libraries (middleware),
• Android Runtime
• Application Framework
• Applications
Android architecture
1) Linux kernel
• The term ‘kernel’ means ‘core’ as the name indicates ,It is the
heart of android architecture that exists at the root of android
architecture.
• Linux kernel is the base of the software layers upon which all
other layers of the android are built.
• Users are not allowed to directly interact with this layer.
• All the essential hardware drivers are located in Linux Kernel
which communicates with the hardware.
• Linux Kernel can also act as an abstraction layer between
hardware and software layers
1) Linux kernel
• The following are the important functions of kernel in the
android system:
• Hardware abstraction
• Memory management programs
• Security settings
• Power management software
• Support for shared libraries
• Network stack
• Device driver management
2) Native Libraries
• Next to Linux Kernel layer is the Android’s Native Libraries.
• They provide capabilities for android’s core features. Libraries help the
device to handle different types of data.
• The following are some of the important native libraries:
• Surface Manager: manages access to the display subsystem and 2D
and 3D graphic layers from multiple applications .
• Media Framework: for playing and recording audio and video formats.
• SQLite : is an android database engine which stores data.
• WebKit : is a browser engine that displays HTML content.
• OpenGL : renders 2D or 3D graphic contents on the screen.
• FreeType :for font support
• C runtime library (libc)
3) Android Runtime

• This is the 3rd section of the architecture and available on the


second layer from the bottom
• In android runtime, there are core libraries and DVM (Dalvik
Virtual Machine) which is responsible to run android
application.
• DVM is like JVM but it is optimized for mobile devices. It
consumes less memory and provides fast performance.
• DVM takes the generated java class files and combines them
into one or more .dex files
• Goal of DVM is to find every possible ways to optimize the
JVM for space,performance and battery life
• The javac tool compiles the java source file
into the class file.
• The dx tool takes all the class files of your
application and generates a single .dex file.
• It is a platform-specific tool.
• The Android Assets Packaging Tool (aapt)
handles the packaging process.
4) Android Framework

• On the top of Native libraries and android runtime, there is


android framework.
• Android framework layer which is written in Java
includes Android API's such as UI (User Interface), telephony,
resources, locations, Content Providers (data) and package
managers.
• It provides a lot of classes and interfaces for android
application development.
4) Android Framework

• The following are some of the basic tools with which


applications are built:
• Activity Manager : Activity life cycles of applications are
managed.
• Content Providers : data sharing among applications are
managed.
• Telephony Manager : manages the location via GPS or base
station receiver.
• Resource Manager : various types of resources used in
applications are managed.
5) Applications
• On the top of android framework, there are applications.
• All applications such as home, contact, settings, games, browsers are
using android framework that uses android runtime and libraries.
• Android runtime and native libraries are using linux kernel.

You might also like