Android is a mobile operating system based on a modified version of the Linux kernel and other open-source software, designed primarily for touchscreen mobile devices such as smartphones and tablets.
1. Mobile Programming Date: 28 April 2020
University of Duhok,
Computer Science Dept.
By
Jawaher A.Fadhil
B.SC in Electronics Engineering
M.Tech in Computer Engineering
2019-2020
Android Operating
System
2. College of Science, University of Duhok
Mobile Programming: Android Date: 28 April 2020 Slide: 2
Computer Science Department
What is Android?
• Android is a mobile operating system designed primarily
for touchscreen mobile devices such as smartphones and
tablets.
• It is developed by Google and later by the Open Handset
Alliance (OHA)
• Android is a Linux based open source software platform.
The application development in Android is done in the
Java language.
The Open Handset Alliance (OHA) is a business alliance that was created for
the purpose of developing open mobile device standards. The OHA has
approximately 80 member companies, including HTC, Dell, Intel, Motorola,
Qualcomm and Google. The OHA's main product is the Android platform - the
world's most popular smartphone platform.
3. College of Science, University of Duhok
Mobile Programming: Android Date: 28 April 2020 Slide: 3
Computer Science Department
Why Android?
Android is one of the most successful mobile operating
systems in the market today.
• Android apps are the most downloaded apps in the app
stores. It runs on millions of mobile devices in more than
190 countries in the world.
• It does not fail to impress its users by consistently
introducing new features.
• It is open source, so any android variant can be developed
using the source code.
4. College of Science, University of Duhok
Mobile Programming: Android Date: 28 April 2020 Slide: 4
Computer Science Department
• It supports wireless communication including 3G, 4G, WiFi,
and Bluetooth. Android keeps introducing its new and
upgraded versions, often. Due to its popularity, around
1million new Android devices are activated worldwide in a
day.
• Google play is an open marketplace for developers to sell
and distribute their mobile apps. It has already entered the
field of Artificial Intelligence enabling the apps to be more
intuitive and user-friendly.
5. College of Science, University of Duhok
Mobile Programming: Android Date: 28 April 2020 Slide: 5
Computer Science Department
Android Architecture
6. College of Science, University of Duhok
Mobile Programming: Android Date: 28 April 2020 Slide: 6
Computer Science Department
Android Architecture
1. Linux Kernel- It exists at the root of the Android architecture. It contains
all drivers for hardware components, battery and memory management,
resource access and device management. Android only uses the Linux
Kernel.
2. Libraries – It is the layer above the Linux Kernel, including native libraries
such as :
Webkit library supports the web browsing engine,
SQLite is used for sharing and storing application data,
Media to play record audio/video, etc.
FreeType is for processing fonts.
SSL libraries are for internet security.
OpenGL and SGL are responsible for rendering 3D,2D graphics,
respectively.
the Surface manager is responsible for rendering windows and
drawing surfaces of apps on the screen.
Libraries also contain C++ libraries used by android system
components.
7. College of Science, University of Duhok
Mobile Programming: Android Date: 28 April 2020 Slide: 7
Computer Science Department
Android Architecture
3. Android Runtime (ART)-
Android Runtime is built to run apps in a restricted
environment where there is limiter power in terms of battery,
processing, and memory these have the
core libraries also known as Dalvik Virtual Machine(DVM)
which are responsible for running an android application.
ART uses DEX(Dalvik Executable) files, DEX files can be created
automatically by Android, by translating the compiled
applications written in the Java programming language.
4. Android Framework-
It includes a collection of Android APIs written in Java.
Enables and simplifies the reuse of core components and
services such as Window, view, Activity, telephony, resources,
locations, Content Providers (data) and package managers.
It provides access to Android feature set for developers to
build a mobile app for Android OS.
8. College of Science, University of Duhok
Mobile Programming: Android Date: 28 April 2020 Slide: 8
Computer Science Department
Android Architecture
5. Applications-
Over the Android Framework lies the application layer
covering system and other apps that the users can download
from the Google Play Store.
The core apps like email, SMS, calendar, maps, browser,
contacts, etc are pre-packed in the mobile device.
This layer uses all other layers for enhancing the performance
of these mobile apps.
9. College of Science, University of Duhok
Mobile Programming: Android Date: 28 April 2020 Slide: 9
Computer Science Department
Android SDK
Android SDK (Software Development Kit) is a set of
development tools that are used to develop applications for
Android platform.
The Android SDK comprises software programs with the
sample source codes, developer tools, documentation,
tutorials, an emulator and essential libraries to build, test
and debug mobile apps for Android.
Apps are written in Java language and are run on
Dalvik(DVM) that runs on Linux Kernel.
10. College of Science, University of Duhok
Mobile Programming: Android Date: 28 April 2020 Slide: 10
Computer Science Department
.apk file
APK stands for Android Application Package.
It is a package file format used by Android OS for
distribution and installation of mobile apps and
middleware.
For installing any mobile app/games, we require APK files
with an extension .apk. These can be downloaded from
the play store. Apk files are just like .exe files for windows.
Apk file is in zip format and contains all necessary files
required for app installation.
11. College of Science, University of Duhok
Mobile Programming: Android Date: 28 April 2020 Slide: 11
Computer Science Department
Android Emulators
Android emulator or Android Virtual Device (AVD) is a
device that is a functional replica of an Android device that
can be used to run and test the Android applications on the
PC even before they are published in the market for final
use.
Android emulator comes as part of the Android SDK. It is a
virtual device that lets the developer develop the apps
without using a physical device.
Android emulator requires JRE –Java Runtime Environment
and Android SDK to function. The applications can be either
downloaded or installed directly on the device from the
Google play store or if the application is available in ‘.apk’
format.
12. College of Science, University of Duhok
Mobile Programming: Android Date: 28 April 2020 Slide: 12
Computer Science Department