Linux
Kernel
Android OS is built on top of the Linux 2.6 Kernel
–Linux Core functionality
•Memory management
•Process management
•Networking
•Security settings
–Hardware drivers
Android’s
native libraries
–Libc: c standard lib.
–SSL: Secure Socket Layer
–SGL: 2D image engine
–OpenGL|ES: 3D image engine
–Media Framework: media codecs
–SQLite: Database engine
–WebKit: Kernel of web browser
–FreeType: Bitmap and Vector
–SufraceManager: Compose window manager with
off-screen buffering.
Android
Runtime
•Core
Libraries
–Provides the functionality of the JAVA Programming Language
•Dalvik VM
–A type of Java Virtual Machine
–Register based (not stack machine like JVM)
–Optimization for low memory requirements
–Executes .dex (Dalvik-Executable) files instead of .class
–DX tool converts classes to .dex format
Application
Framework
•The blocks that our applications directly interact
with.
•Important blocks:
–Activity Manager: Manages the activity life cycle
of applications
–Content Providers: Manage the data sharing between
applications
–Telephony Manager: Manages all voice calls. We use
telephony manager if we want to access voice calls in our application.
–Location Manager: Location management, using GPS
or cell tower
–Resource Manager: Manage the various types of
resources we use in our Application
Applications
•This is where our applications are placed.
•Some pre-installed applications:
–SMS client app
–Dialer
–Web browser
–Contact manager
•As developers, we are able to write an app which
replaces any existing system app.