An Overview of the Android Platform Architecture

Sachin Pradhan
3 min readJul 19, 2021

--

However, before diving deeper into the practical aspects of Android application development, it’s vital to grasp some of the Android SDK’s and Android development’s more abstract principles. Gaining a thorough comprehension of these topics now will serve as a solid basis for future learning.

Android

Android is an open-source software stack based on Linux that can run on a wide range of devices and configurations. Android software stack contains a Linux Kernel, a collection of c/c++ libraries which are exposed through application framework services, runtime, and application.

Let’s look at the software stack that makes up an Android system. Android is a mobile platform that includes the following components:

  1. Operating System
  2. Android Runtime
  3. Native Libraries
  4. Application Framework
  5. System Application
The Android software stack by Android

Operating System (OS)

Android OS is based on the Linux kernel. The operating system (OS) serves as a layer of abstraction between software and physical components. The Linux Kernel is the android architecture’s lowest layer and heart.

A kernel’s sole responsibility is to manage,

  • Memory
  • Power
  • Drivers
  • Resource
Photo by Denny Müller on Unsplash

Android Runtime (ART)

The Android Runtime Environment, rather than being an integral element of Android, contains components such as core libraries and the Dalvik virtual machine*. The Android runtime is the engine that drives our apps and libraries, as well as the foundation for the application framework.

Note: The Dalvik Virtual Machine (DVM), like the Java Virtual Machine, is a register-based virtual machine (JVM). It is specially developed and tuned for Android to ensure that several instances can function smoothly on a single device. Threading and low-level memory management are handled by the Linux kernel.

The core libraries in the Android runtime will enable us to implement android applications using the standard JAVA programming language.

Native Libraries

The Native Libraries include various C/C++ core libraries and Java-based libraries to provide support for Android development.

The following are the summary details of some core android libraries,

  • Media library for playing and recording audio and video formats
  • 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
  • Webkit for web browser support and SSL for Internet security.

Application Framework

The Application Framework is a set of classes that are used to build Android apps. It provides core functionalities through APIs that allow us to construct a class and make it useful in application development.

The application framework includes services like,

  • Telephony service
  • Location service
  • Notification manager
  • NFC service
  • View system etc.

System Application

Applications are the top layer of the Android architecture that is visible to users. The application layer uses the classes and services provided by the application framework to function within the Android run time.

Whatever we construct either native applications such as contacts, email, music, gallery, clock, games, or third-party applications that only be installed on this layer.

Photo by Pathum Danthanarayana on Unsplash

Woooo!! You just learned the major components of Android platform architecture. It's a very good start. Now you can learn deeper @Android developer.

I hope this article is insightful. Let’s connect at Linkedin.

--

--