0% found this document useful (0 votes)
5 views2 pages

Understanding the Android Software Stack (1)

The Android software stack consists of a Linux kernel, C/C++ libraries, an application framework, and an application layer. The kernel manages core services and hardware abstraction, while the Android run time, including the Dalvik virtual machine, powers applications. The application framework provides the necessary classes and resources for developing both native and third-party applications.

Uploaded by

Ambedkar
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views2 pages

Understanding the Android Software Stack (1)

The Android software stack consists of a Linux kernel, C/C++ libraries, an application framework, and an application layer. The kernel manages core services and hardware abstraction, while the Android run time, including the Dalvik virtual machine, powers applications. The application framework provides the necessary classes and resources for developing both native and third-party applications.

Uploaded by

Ambedkar
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Understanding the Android Software Stack

The Android software stack is composed of the elements shown in Figure 1-1 and described in further detail below it. Put simply, a Linux
kernel and a collection of C/C++ libraries are exposed through an application framework that provides services for, and management of, the
run time and applications.

❑ Linux Kernel Core services (including hardware drivers, process and memory management, security, network, and power management)
are handled by a Linux 2.6 kernel. The kernel also provides an abstraction layer between the hardware and the remainder of the stack.
❑ Libraries Running on top of the kernel, Android includes various C/C++ core libraries such as libc and SSL, as well as:
❑ A media library for playback of audio and video media
❑ A Surface manager to provide display management
❑ Graphics libraries that include SGL and OpenGL for 2D and 3D graphics

Chapter 1
❑ SQLite for native database support
❑ SSL and WebKit for integrated web browser and Internet security
❑ Android Run Time What makes an Android phone an Android phone rather than a mobile Linux implementation is the Android run time.
Including the core libraries and the Dalvik virtual machine, the Android run time is the engine that powers your applications and, along with
the libraries, forms the basis for the application framework.
❑ Core Libraries While Android development is done in Java, Dalvik is not a Java VM. The core Android libraries provide most of the
functionality available in the core Java libraries as well as the Android-specifi c libraries.
❑ Dalvik Virtual Machine Dalvik is a register-based virtual machine that’s been optimized to ensure that a device can run multiple
instances effi ciently. It relies on the Linux kernel for threading and low-level memory management.
❑ Application Framework The application framework provides the classes used to create Android applications. It also provides a generic
abstraction for hardware access and manages the user interface and application resources.
❑ Application Layer All applications, both native and third party, are built on the application layer using the same API libraries. The
application layer runs within the Android run time using the classes and services made available from the application framework.

Chapter 1

You might also like