Android 101 — How Application in Android System Work and Run

M Shulkhan
2 min readSep 8, 2023

--

What’s Android Application?

Android Application is a program which specially made to run in Android to do some specific action / work that decided by the developer. Basically, Android is a Linux-based software which created for various devices, one of the devices is smartphone.

App Components

App components are important elements which used to build android application. Each component is interrelated and has different tasks and objectives. There are 4 App Components:

  1. Activities
  2. Services
  3. Broadcast Receivers
  4. Content Providers

We will discuss about the details of each components in the other article.

How Application in Android System Work and Run?

Before we get to know how Application in android system work and run, we should also aware that android has platform architecture. Each layer of the platform architecture is interconnected and will be used when Android is used.

Platform Architecture

The Android software stack.

Linux Kernel
Android running in top of Linux Kernel. Kernel will responsible to manage the interaction between Hardware and other software above. On the picture above Linux Kernel has several driver which used to connect operating system with hardware on Android, such as Audio Driver, USB Driver, WiFi Driver, etc.

Hardware Abstraction Layer (HAL)
HAL or Hardware Abstraction Layer is works for communicator between Kernel Linux and other Layer above it.

Native C/C++ Libraries
Native C/C++ Libraries contains list of libraries which wrote using C/C++ Libraries. This libraries is often used by the application to interact with low level android application.

Android Runtime
Android Runtime is an application runtime environment. In android each application running in it’s own instance, so it won’t affect the other process. This process is manage by Android Runtime.

Java API Framework
Java API Framework is a collection of Java Class which provide an API, this API is used for communication between component and services in Android, such like ActivityManager, LocationManager, PackageManager, etc.

System Apps
System Apps is a set of an application that already exist in android. An examples of this application is Calendar, SMS Messaging, Contacts, etc.

Process Application work & run in Android System

Now, how can application work & run in Android System?

Once the application is installed into devices, PackageManager will handle this to do some verification process such as checking Android API being used by application, check the permission, and so on. After that once the user click the icon button it will triggered ART to create a new process_id so it won’t affect the other’s process. And then Manager, in this case is ActivityManager will start the first activity that exist in the application. If e.g the application needs other’s libraries to do some rendering process it will call an OpenGL ES that exist in Native C/C++ Libraries. Hardware Abstraction Layer (HAL) will be used for communicator if the application needs to access Linux Kernel.

--

--