Introduction to Android Development : Android Platform

·

2 min read

The Android Software Stack

The Android Platform consists of all of these things.

Let's run through it from the bottom to the top.

1. Linux Kernel

Linux kernel is the foundation of the Android Platform, this makes us can implement key security features and allows device manufacturers to develop hardware drivers for a well-known kernel.

2. Hardware Abstraction Layer(HAL)

In this phase, we play with Audio, Bluetooth, Sensors, cameras and so forth. For example when the app wants to use the camera then the Android systems will load the library module for the hardware component

3. Native C/C++ Libraries and Android Runtime

This is another layer below the Java API framework

In This Section, we play with Webkit, OpenMAX AL, Media framework, and others. If want to develop app that requires C or C++ code, we can use the Android NDK to access some of this native code

For the Android Runtime, we play with Android Runtime and Core Libraries. And the major features of Android Runtime are:

  1. Ahead-of-time (AOT) and just-in-time (JIT) compilation

  2. Optimized garbage collection (GC)

  3. Supporting the better debugging

4. Java API Framework

This section is where we code and spend most of our time creating the program. The API stands for Application Programming Interface that allows us as developers to interact to interface with the underlying software stack in Android as a Framework

Java API Framework provides:

  1. A rich and extensible View System including the app's UI, grids, text boxes, and others

  2. Resource Manager like string, values elements, others

  3. Notification Manager to display notification

5. System Apps

The system apps if for provide capabilities that developers can access from their app like delivering SMS messages.