Android Software Stack
■Android OS consist of different layers of software.
■Each layer groups several programs.
■Each programs has its own service to provide.
■Android architecture is a form of the software stack which consist of the
four layers.
■Android consist of a Linux kernel and collection of C, C++ libraries.
■These services exposed from the application framework.
Android Software Stack
■Android was created on the open source kernel of Linux.
■It is the heart of the Android architecture that exist at the root of the android
architecture.
■It is responsible for device drivers, power management, memory
management, device management and resource access.
Linux Kernel
■Security
–Linux kernel handle the security between the application and the system.
■Memory Management
–Providing the freedom to develop our apps.
■Process Management
–It manage the process well, allocates resources to processes whenever they need.
■Network Stack
–It handle the network communication.
Linux Kernel
Libraries
■Running on the top of the kernel.
■It was developed with various features.
■It consist of various C/C++ libraries with numerous of open source tools.
■Some of the open source tools are,
–The Android Runtime, Open GL, WebKit, Media Framework, Secure
Socket Layer (SSL), etc.,
Libraries
■The Android Runtime
–It consist of core libraries of Java and ART
■Open GL (Graphics Library)
–Cross language, cross-platform Application Program Interface (API) is used to
produce 2D, 3D computer graphics.
■WebKit
–This is a open source web browser engine.
–It provide all the functionality to display web content and to simplify page
loading.
Libraries
■Media Framework
–These libraries allow us to play audio, video and record audio, videos.
■Secure Socket Layer (SSL)
–These libraries are there for internet security.
■Android runtime layer is a subset or part of the libraries layer.
■It is the third section of the architecture.
■It provide one of the key components which is called Dalvik VM.
■It is act as a JVM which is specially designed for Android.
■It consumes less memory and provides fast performance.
Android Runtime
Application Framework
■The application framework layer provides many high-level services to
application in the form of the Java.
■Android framework includes the following key services.
Application Framework
■Activity Manager
–Control all aspects of the application lifecycle.
–Control all the activity stack.
Application Framework
■Content Provider
–Allow applications to push and share the data with other application.
Application Framework
■Resource Manager
–It provide access to non-code embedded resources such as strings,
color setting and user interface layouts.
Application Framework
■Notification Manager
–Allow application to display alert to the user.
–Allow application to display notification to the user
Application Framework
■Location Manager
–Provide access to the location services allowing an application to
receive an updates about location changes..
Applications
■Android application can be found in the top of the layer.
■At the application layer we can write our own application and install it and
use it.
■These applications are interact with the users.
■Example : Games, Message, Contacts, etc.,