Android
Background
Android API Libraries:
Common Features supported
Motivation for Android:
Rough History of Phone Apps
Motivation for Android:
MIDlets
Java Hosted MIDlets
Three Major Components
of the
Android Ecosystem
Android Ecosystem:
Specific Parts
Android Ecosystem:
Compatibility Definition Document (CDD)
and
Compatibility Test Suite(CTS)
Together, the CDD and CTS describe the capabilities required for a device to support the
Android Software Stack
Android Ecosystem:
Linux Kernel
A Linux operating system kernel provides a low-level interface with:
All optimized for mobile and embedded devices
Android Ecosystem:
Open Source Libraries
Open source libraries are available to aid in application development.
Includes:
Android Ecosystem:
Android Run Time (ART)
Used to execute and host Android applications and the core libraries that provide Android-specific functionality.
Designed to be small and efficient for use on embedded devices.
Android Ecosystem:
Application Framework
Agnostically( not knowing about the device) exposes system services to the application layer.
These services include:
Android Ecosystem:
User Interface Framework
A framework that is used to host and launch applications. Essentially defines how applications are handled by the system and presented to users.
Android Ecosystem:
Preinstalled Applications
Android devices come with a suite of applications that are expected by users. On a phone:
Many Android devices also ship with proprietary Google applications
Android SDK:
Major Features supported by
SDK libraries
Benefits of developing for Android
Programming Languages
used for Android
Java and Kotlin syntax can be used within the same applications
Android Development Framework:
Major Parts
Android Run Time (ART)
Android SDK
(Also Android NDK)
Android Software Stack
Android Application Architecture
Android Development Framework:
Android Run Time( ART)
Android Development Framework:
Android SDK
Major Features
(What is included “in the box”)
Android Development Framework:
Android SDK
Android Emulator
A fully interactive mobile device emulator featuring several alternative skins.
Android Development Framework:
Android Software Stack:
What it is
A Linux kernel and a collection of C/C++ libraries,
exposed through an application framework that provides services for, and management of, the run time and applications.
Android Development Framework:
Android Software Stack:
Layers
Android Development Framework:
Android Software Stack:
Support/Compatibility/Proprietary Libraries
Components
Android Development Framework:
Android Software Stack:
Application Framework
Components