Introduction To Android Architecture
The following article provides an outline for Android Architecture. Android is the mobile operating system software, developed by Google, mainly used in smartphones and tablets. It is open-source software also known as Android Open Source Project which is based on the Linux kernel platform. It was September 2008 when it was launched commercially. Here, we will go into detail of the architecture of this operating system, and also explore the framework components and the various libraries of this operating system.
Components Of Android Architecture
An android device needs certain components, which include a software stack. These software stacks carry Linux Kernel, which is a collection of C /C libraries. These libraries are exposed through the application, runtime, and services of the framework. Android architecture’s main components are Linux Kernel, Applications, Application Framework, Android Runtime, and Platform Libraries.
1. Linux Kernel
Being a bottom layer, it is responsible for managing all the drivers of the android architecture. Drivers are mainly required during the runtime, like display drivers, memory drivers, camera drivers, audio drivers, Bluetooth drivers, etc. It is the bottom layer and also responsible for resource access, memory management, device management, power management, etc.
In between the remainder of the stack and device hardware, it provides an abstraction layer. It is open-source and gives the developers an option to modify the kernel as per the requirement. This is the main component in android architecture, and it is impossible to run an application without Dalvik Virtual Machine or DVM.
2. Applications
In android architecture, it is the top layer that manages third-party and native applications such as the gallery, contacts, clock, email, home, email, games, music, etc. Within android, the application layer runs using services and classes of an application framework.
3. Application Framework
While creating an application, we need to create some particular classes which are helpful. To meet this requirement, all the services for class creation done by the application framework itself. Activity manager, packet manager, NFC Service, Location Service, Windows Manager, Notification Manager, Content Providers, View System, telephony service, etc. all these are part of an application framework.
4. Android Runtime
This is the most important part of the android architecture, as it holds components such as Dalvik Virtual Machine and Core Libraries. And also includes Zygote and Android Debug Bridge. It acts as an engine that powers the libraries and the applications under the hood of an application framework. To run efficiently multiple instances, Dalvik Virtual Machine is optimized and designed in a specific way. Core libraries provide a good opportunity to build an application by using standard JAVA programming language.
5. Platform Libraries
It includes Java-based libraries and core libraries of C /C which enforce support while developing android applications. Like Surface Manager, Media Framework, SSL, SGL, OpenGL, Media Library, Graphics, Web-kit, Freetype, SQLite, etc. For 3D or 2D graphics we need OpenGL SGL and Graphics libraries, for database support, we need SQLite, for display management we need surface manager library, for recording and playing different video and audio format we need media library, for front support we need Freetype, SSL required for internet security, for web browser support we need Web-kit.
Android Libraries
Given below are the various android libraries:
- ‘android.view’: This is mainly used to create an interface for user applications.
- ‘android.os’: This is used for inter-process communication, messages, and system services.
- ‘android.content’: Works as a mediator between application components and application to publish and access messages.
- ‘android.database’: It uses classes of SQLite database management to access data published by content providers.
- ‘android.text’: In a display of a device it is used mainly to extract and manipulate content.
- ‘android.WebKit’: Within an application, allow web-browsing capabilities we need this, which consist of a set of classes.
- ‘android.app’: This is the foundation of all Android applications. It gives access to the application model.
- ‘android.widget’: It contains a collection of user interfaces that are pre-built components like radio buttons, list views, buttons, layout managers labels, etc.
Although there are many benefits while working under android architecture, some of them are important and should be remembered. It is platform-neutral, easy to integrate, flexible, royalty-free, customizable, open-source advantages, etc. At the same time, it is important to understand the frontend and backend concept of an android application. Because of its line of benefits, android architecture is rapidly growing and job opportunities are increasing day by day.
Recommended Articles
This is a guide to Android Architecture. Here we discuss the introduction and the framework components along with the various libraries of this operating system. You can also go through our other suggested articles to learn more –
- What is Android?
- Rooting Android Devices
- Android Operating System
- Android Developer Interview Questions
Are you preparing for the entrance exam ?
Join our Mobile Development test series to get more practice in your preparation
View More