Skip to content
Home » Blogs » Android Architecture

Android Architecture

    The architecture of Android is divided into several layers. Some group of components are present in each layer. The architecture is constructed so that at all times, the bottom layer supports the one above it, and so forth.

    1. Linux kernel

    This layer consists of the various drivers like camera, audio, Wi-Fi, keypad drivers, etc. For essential system functions like security, memory management, process management, network stack, and driver model, Android depends on Linux. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.

    Several important security features for Android are provided by the Linux kernel, including:

    • A user-based permissions model
    • Process isolation
    • Extensible mechanism for secure IPC
    • The capacity to delete unused and potentially unsafe kernel components

    Isolating user resources from one another is a core security goal of the Linux kernel as a multiuser operating system, such as

    • Stops user A from viewing user B’s files
    • Ensures that user B’s memory is not depleted by user A

    2. Libraries and Android Runtime


    Many essential Android system parts and services, like ART and HAL, are constructed using native code, which necessitates the use of native libraries in C and C++.

    • Surface Manager: This manages the windows and screens.
    • Media Framework: This enables the usage of numerous codec types for the playing and recording of various media.
    • SQLite: SQLite is a simplified form of SQL that is used to manage databases.
    • WebKit: This is the browser rendering engine.
    • OpenGL: This is used to render 2D and 3D contents on the screen properly.

    Android Runtime

    The Dalvik Virtual Machine and Core Libraries from the Android Runtime are also present at the same level.

    The Dalvik Virtual Machine (DVM) is the name of the virtual environment that runs all Android applications. It is comparable to the Java Virtual Machine (JVM), with the exception of features like the fact that it is register-based rather than stack-based. Each and every application will therefore execute in its own Dalvik Virtual Machine instance. Therefore, there will be three different virtual instances if we are running three different programmes. However, it should not be mistaken for a secure container or a security environment, even though it creates a virtual environment for the apps to execute in. Performance-related issues are the DVM’s main area of interest

    3. Application Framework

    The resource manager (which handles resource management), location manager (location-based services like maps and GPS), activity manager (which manages the activities of the application life cycle), telephone manager (which manages voice calls), and content provider (which manages data sharing between applications) are some of the crucial building blocks of this framework.

    4. Applications

    Most of the applications created by developers only interact with the first and topmost layer, the applications.


    For further clarifications or support, please write to

    Leave a Reply

    Your email address will not be published. Required fields are marked *