An Overview of the Android Platform Architecture
Before diving deeper into the practical aspects of Android application development, it is important to understand some of the more abstract principles behind the Android SDK and Android development.
Having a solid understanding of these concepts provides a strong foundation for learning Android development further.
Android
Android is an open-source software stack based on Linux that can run on a wide range of devices and configurations.
The Android software stack contains a Linux Kernel, a collection of C/C++ libraries, which are exposed through application framework services, the Android Runtime, and applications.

Let’s look at the software stack that makes up an Android system.
Android is a mobile platform that includes the following major components:
- Operating System
- Android Runtime
- Native Libraries
- Application Framework
- System Applications

The Android software stack by Android.
Operating System (OS)
Android OS is based on the Linux kernel.
The operating system serves as a layer of abstraction between software and physical components. The Linux Kernel is the lowest layer and the heart of the Android architecture.
A kernel’s primary responsibilities include managing:
- Memory
- Power
- Drivers
- Resources

Photo by Denny Müller on Unsplash.
Android Runtime (ART)
The Android Runtime (ART) contains components such as core libraries and the runtime environment used by Android applications.
The Android Runtime is the engine that drives applications and libraries and provides the foundation for the application framework.
Note: The Dalvik Virtual Machine (DVM), like the Java Virtual Machine, is a register-based virtual machine. It was specifically developed and optimized for Android so that multiple instances could operate efficiently on a single device. Threading and low-level memory management are handled by the Linux kernel.
The core libraries in the Android Runtime allow developers 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 that provide support for Android development.
Some of the core Android libraries include:
- Media — provides support for playing and recording audio and video formats.
- Surface Manager — provides display management.
- SGL and OpenGL — provide support for 2D and 3D graphics.
- SQLite — provides database support.
- FreeType — provides font support.
- WebKit — provides web browser support.
- SSL — provides Internet security.
Application Framework
The Application Framework is a set of classes used to build Android applications.
It provides core functionality through APIs that allow developers to construct classes and use them in application development.
The application framework includes services such as:
- Telephony service
- Location service
- Notification Manager
- NFC service
- View system
System Applications
Applications are the top layer of the Android architecture and the layer that is directly visible to users.
The application layer uses the classes and services provided by the Application Framework to function within the Android Runtime.
Applications can include native applications such as:
- Contacts
- Music
- Gallery
- Clock
- Games
Third-party applications are also installed and run at this layer.

Photo by Pathum Danthanarayana on Unsplash.
Final Thoughts
Woooo!! You just learned the major components of the Android platform architecture.
It’s a very good start. Now you can go deeper into each of these components as you continue learning Android development.
I hope this article was insightful.
Let’s connect on LinkedIn.