Android architecture
Android architecture, or the Android stack, consists of 5 layers:
- Linux Kernel exists at the root of Android architecture. The kernel handles device drivers, power, memory, device management, and resource access.
- Native Libraries like WebKit, OpenGL, FreeType, and others are on top of the Linux Kernel. They support browsers, fonts, databases, video, and audio.
- Android Runtime provides the base for the application framework and powers applications with the help of the core libraries.
- Application Framework includes Android UI, telephony, resources, locations, data, and package managers. It provides a lot of classes and interfaces for android application development.
- Applications form the top layer of the Android stack. Pre-installed apps like home, contacts, camera, and third-party apps like social networks will be installed on this layer.
Average Android users primarily interact with the Applications layer when using apps (making phone calls, surfing the internet, etc.). The layers further down are usually just accessed by developers.