Professional Documents
Culture Documents
Lect 3
Lect 3
1. Linux Kernel
2. Platform Libraries
3. Android Runtime
4. Android Framework
5. Applications
Linux Kernel
Linux kernel is the bottom-most and important layer of the Android architecture
and it is the core part of Android architecture.
Security
Process management
Memory management
Device management
Multitasking
Platform Libraries
The Platform Libraries includes various C/C++ core libraries (native codes and
require native libraries) and Java-based libraries such as SSL, libc, Graphics,
SQLite, Webkit, Media, Surface Manger, OpenGL, etc. to provide support for
Android development.
The following are the summary details of some core android libraries available for
android development.
Media library for playing and recording audio and video formats
The Surface manager library to provide a display management
SGL and OpenGL Graphics libraries for 2D and 3D graphics
SQLite is for database support and FreeType for font support
Web-Kit for web browser support and SSL for Internet security.
Android Runtime
Dalvik Virtual Machine (DVM) is a register-based virtual machine like Java Virtual
Machine (JVM). It is specially designed and optimized for android to ensure that a
device can run multiple instances efficiently. It relies on the Linux kernel for
threading and low-level memory management.
The core libraries in android runtime will enable us to implement android
applications using standard JAVA programming language.
Application Framework
The application framework built on top of the native library layer provides us with
Application programming interface and higher-level services. Also, the features of
the Android operating system are available to us through API’s written in form
of JAVA classes. And, Android developers use these high-level services to build
applications.
It also consists of an Android Hardware Abstraction Layer (HAL) that allows the
Android Application framework to communicate with hardware-specific device
drivers. It acts as an interface for hardware vendors to implement. An android
application uses HAL APIs to get commands from different hardware devices.
Activity Manager: The method in this class uses testing and debugging
methods.
Content provider: It provides data from application to other layers.
Resource Manager: It provides access to non-code resources.
Notification Manager: The users get notification about all the actions
happening in the background.
View System: It acts as a base class for widgets and is responsible for event
handling.
Applications