Easy Tutorial
❮ Android Acitivities Android Intents Filters ❯

Android Architecture

The Android operating system is a stack of software components, which can be broadly divided into five parts and four main layers in the architecture diagram.


Linux Kernel

At the bottom of all layers is the Linux kernel, including approximately 115 patches for Linux 3.6. It provides basic system functionalities such as process management, memory management, and device management (e.g., camera, keyboard, display). Additionally, the kernel handles all the tasks that Linux is good at, such as networking and a large number of device drivers, thus avoiding the inconvenience of compatibility with a vast array of peripheral hardware interfaces.


Libraries

Above the Linux kernel layer is a collection of libraries, including the open-source Web browser engine WebKit, the well-known libc library, the SQLite database for storage and application data sharing, libraries for playing and recording audio and video, and the SSL library for network security, among others.


Android Libraries

This category includes libraries developed specifically for Android using Java. Examples of these libraries include application framework libraries, such as user interface construction, graphics rendering, and database access. Some of the core Android libraries available to Android developers are summarized as follows:

Having reviewed the Java-based core libraries within the Android runtime layer, it's time to focus on the C/C++-based libraries in the Android software stack.


Android Runtime

This is the third part of the architecture, the second layer from the bottom up. This section provides the key component known as the Dalvik Virtual Machine, similar to the Java Virtual Machine but specifically designed and optimized for Android.

The Dalvik Virtual Machine allows the use of Linux kernel functionalities, such as memory management and multithreading, in Java. The Dalvik Virtual Machine ensures that each Android application runs in its own separate virtual machine process.

The Android Runtime also provides a set of core libraries to enable Android application developers to write Android applications using the standard Java language.


Application Framework

The Application Framework layer provides many high-level services to applications in the form of Java classes. Application developers are allowed to use these services in their applications.


Applications

At the top layer are all the Android applications. The applications you write will also be installed at this layer. These applications include contacts, browser, games, and more.

❮ Android Acitivities Android Intents Filters ❯