Introduction to Android Development : Android Platform
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:
Ahead-of-time (AOT) and just-in-time (JIT) compilation
Optimized garbage collection (GC)
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:
A rich and extensible View System including the app's UI, grids, text boxes, and others
Resource Manager like string, values elements, others
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.