Android is an operating system developed by Google. It is a modified version of Linux kernel and other open-source software. Today android used in many electronic devices like touchscreen mobile, tablets, Android TV, Android Auto for cars, and Android watches, each with a specialized user interface. Android is also used on the game, digital cameras other electronics.
Android Application Fundamental:
An archive file with .apk extension, an Android package. One APK file contains all the contents of an Android app and is the file that Android-powered devices use to install the app. Android SDK tools compile your application code along with data and resource files into an APK.
Android Architecture Diagram:
Android can be simply understood as a software package. It is a Linux based operating system for mobile devices. Here, we are going to understand the architecture of Android in detail. Android architecture is also known as the Android software stack. It can be categorized into five parts:
- Linux kernel
- native libraries (middleware)
- Android Runtime
- Application Framework
Linux kernel exists at the root of android architecture and is thus also called as the heart of the android architecture. The device drivers, power management, memory management, device management, and resource access comes under the responsibility of the Linux Kernel.
Native libraries such as WebKit, OpenGL, FreeType, SQLite, Media, C runtime library (libc), etc are on top of the Linux kernel.
|1||WebKit library||Browser support|
|4||Media||Playing and recording audio and video formats|
The core libraries and DVM (Dalvik Virtual Machine) are there in android runtime. They are responsible for running android applications. Originally being like JVM, DVM is optimized for mobile devices to consume less memory and to facilitate a fast performance.
The Android framework is on the top of Native libraries and android runtime. Android APIs like UI (User Interface), telephony, resources, locations, Content Providers (data) and package managers are a part of the Android framework. For the development of the android application, the Android framework facilitates a lot of classes and interfaces.
Applications are present on the top of the android framework. The Android framework is used by all the applications including home, contact, settings, games, browsers. The android framework itself uses android runtime and libraries. While the Linux kernel is used by the Android runtime and native libraries. Linux kernel is the heart of the android architecture.