Android Architecture
Android Architecture
Topic:
Android Architecture
Roll Number:
Bsf2206404
Submitted By:
Muhammad Shoaib
Submitted To:
Ms. Hibba
1. Linux Kernel
2. Native Libraries (Middleware),
3. Android Runtime
4. Application Framework
5. Applications
Linux kernel
This provides a level of abstraction between the device hardware and it contains all the essential
hardware drivers like camera, keypad, display etc. Also, the kernel handles all the things that Linux
is really good at such as networking and a vast array of device drivers, which take the pain out of
interfacing to peripheral hardware.
Native Libraries
In Android architecture, native libraries are a core part of the system, offering performance
optimizations and access to low-level system functionality. They are written in languages like C
and C++ and interact with the Java/Kotlin code through the JNI (Java Native Interface). Here's a
breakdown of the important native libraries and how they fit into the Android architecture:
Android's system libraries provide basic functionality required by the operating system and
applications. These libraries are usually written in C/C++ and optimized for performance.
libc: The C standard library that supports functions like file I/O, string handling, and
memory management. Android's implementation is based on Bionic, a C library
optimized for mobile devices.
libm: The math library that offers standard mathematical operations such as
trigonometry, logarithms, and square roots.
liblog: Used for logging, allowing developers to log messages to Android’s logging
system (Logcat).
Android Runtime
In android runtime, there are core libraries and DVM (Dalvik Virtual Machine) which is
responsible to run android application. DVM is like JVM but it is optimized for mobile devices. It
consumes less memory and provides fast performance.
The Android Runtime (ART) is a key component of the Android operating system responsible for
executing Android applications. It serves as the runtime environment that runs the compiled code
of Android apps. ART was introduced as a replacement for the older Dalvik Virtual Machine
(DVM) starting from Android 4.4 (KitKat) and became the default in Android 5.0 (Lollipop).
Android Framework
On the top of Native libraries and android runtime, there is android framework. Android
framework includes Android API's such as UI (User Interface), telephony, resources, locations,
Content Providers (data) and package managers. It provides a lot of classes and interfaces for
android application development.
The Android Framework refers to the set of APIs, components, and services that provide the
essential functionality for developing Android applications. It acts as a bridge between the Android
operating system (hardware and system services) and the applications that run on Android devices.
The framework simplifies app development by providing developers with reusable libraries and
pre-built components, so they don't have to deal with low-level details like memory management
and hardware interaction.
Applications
On the top of android framework, there are applications. All applications such as home, contact,
settings, games, browsers are using android framework that uses android runtime and libraries.
Android runtime and native libraries are using linux kernal.
In the context of Android architecture, the Application layer plays a central role as the topmost
layer in the architecture, representing the overall application that runs on an Android device. It
includes the code, resources, and all the components that define the behavior and functionality of
the app.