Android
Software Stack / Architecture
Android Architecture
• Android architecture or Android software
stack is categorized into five parts:
1. Linux kernel
2. Native libraries (middleware)
3. Android Runtime
4. Application Framework
5. Applications
1.Linux kernal
• It is the heart of android architecture that
exists at the root of android architecture.
• Linux kernel is responsible for
• Device drivers,
• Power management,
• Memory management,
• Device management
• Resource access
2.Native libraries (middleware)
• On the top of linux kernel, their are Native libraries
such as
• WebKit
• OpenGL
• FreeType
• SQLite
• Media
• C runtime library (libc) etc.
2.Native libraries (middleware)
• WebKit library is responsible for browser support
• SQLite is for database
• FreeType for font support
• Media for playing and recording audio and video
formats
3.Android Runtime (ART)
• In android runtime, there are core libraries and
DVM (Dalvik Virtual Machine) which is
responsible to run android application.
• DVM is like JVM but it is optimized for mobile
devices.
• It consumes less memory and provides fast
performance.
4.Application Framework
• On the top of Native libraries and android runtime, there is
android framework.
• Android framework includes
• Android API's such as UI (User Interface)
• Telephony
• Resources locations
• Content Providers (data) and
• Package managers
• It provides a lot of classes and interfaces for android
application development
5.Applications
• On the top of android framework, there are applications.
• All applications such as
• Home
• Contact
• Settings
• Games
• Browsers
are using android framework that uses android
runtime and libraries.
• Android runtime and native libraries are using linux kernal.
Thank You!