Android Pentesting Series Part 1 : Android Architecture Basics

The Major components of Android platform are

source : developer.android.com

Linux Kernel

The foundation of Android Platform is the Linux kernel. The Linux kernel will provide an abstraction layer between the device hardware and the other components of android architecture. It is responsible for memory management, process management, management of network stack, driver models, security etc.

Hardware Abstraction Layer (HAL)

The hardware abstraction layer (HAL) provides standard interfaces that expose device hardware capabilities to the higher-level Java API framework.

Android Runtime

Android Runtime environment is one of the most important part of Android. It contains components like core libraries and ART (Android Runtime). Prior to Android version 5.0 (API level 21), Dalvik was the Android runtime but it is now replaced with ART. Some core functionality of ART are :

  • Ahead-of-time (AOT) and just-in-time (JIT) compilation
  • Optimized garbage collection (GC)

Native C/C++ Libraries

Many core Android system components and services, such as ART and HAL, are built from native code that require native libraries written in C and C++. The Native Libraries includes various C/C++ core libraries and Java based libraries such as Media, Graphics, Surface Manager, OpenGL etc. to provide a support for android development.

Java API Framework

The entire feature-set of the Android OS is available to you through APIs written in the Java language. These APIs form the building blocks you need to create Android apps by simplifying the reuse of core, modular system components and services. Developers have full access to the same framework APIs that Android system apps use.

System Apps

Applications is the top layer of android architecture. The pre-installed applications like home, contacts, camera, gallery etc. and third party applications downloaded from the play store like chat applications, games etc. It runs within the Android run time with the help of the classes and services provided by the application framework.

References

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.