Unit-1 .
Android and Its Tools
Total Marks: 04
1.1 Introduction to Android :
Android is one of the most popular mobile operating systems in the world today.
Andy Rubin is the developer of Android.
Here is a complete timeline of the history of Android, from Andy Rubin to now.Who is Andy Rubin?
Andy Rubin is the co-founder and former CEO of the company that created Android, Inc.(Incorporated) This company was
bought by Google in 2005. Rubin then became a Senior Vice President at Google.
How did Android start?
In 1996, Andy Rubin came up with the idea of a phone for the consumer market. At the time, he was working for an engineering
company called General Magic.
In his spare time, he started to develop a prototype.
In 1997, Andy Rubin founded Android, Inc. The company was founded by Andy Rubin and a group of investors who had seen his
prototype and wanted to invest in it.
By :Ms.Ruchita S.Baviskar
8459495925
In 1998, Android, Inc. was going bankrupt and was bought by Google in 2005. Google then hired Andy Rubin to work with them on a
project that would be a better phone.
What is Android today?
Android is Google's operating system for mobile devices such as smartphones and tablets. It is an open-source platform meaning that
manufacturers can add their own interfaces to the device while still using the Android operating system.
In 2007, Android 1.0 was released and it was an instant success with over 50k downloads.
1.1 Open Handset Alliance (OHA) S-23 , W-22
The Open Handset Alliance (OHA) is a group of 84 companies that collaborate to develop open standards for mobile devices. It was
founded on 5th November 2007, with Google leading the initiative. The main objective of OHA is to promote an open and unified
mobile ecosystem using the Android platform.
Key Members of OHA:
• Google – Developer of the Android OS
• Mobile Manufacturers – Samsung, HTC, LG, Sony, Motorola
• Chipset Makers – Qualcomm, NVIDIA, Intel, Texas Instruments
• Network Operators – T-Mobile, Vodafone, Sprint
• Software Companies – eBay, Esmertec
By :Ms.Ruchita S.Baviskar
8459495925
Objectives of the Open Handset Alliance:
1. Develop Open Standards – Create software and hardware standards for mobile devices.
2. Enhance Android OS – Improve the Android platform by adding new features.
3. Reduce Development Costs – Make mobile phone development cost-effective for manufacturers.
4. Encourage Innovation – Promote app development and customization.
5. Support Multiple Devices – Ensure Android runs on smartphones, tablets, TVs, and wearables.
Impact of the Open Handset Alliance:
• Android has become the most popular mobile OS globally.
• Developers can create and distribute apps via the Google Play Store.
• Users get access to affordable smartphones with various features.
• Manufacturers can customize the Android OS based on their needs.
By :Ms.Ruchita S.Baviskar
8459495925
Evolution Of Android OS
Code name Version numbers API level Release date
No codename 1.0 1 September 23, 2008
No codename 1.1 2 February 9, 2009
Cupcake 1.5 3 April 27, 2009
Donut 1.6 4 September 15, 2009
Eclair 2.0 - 2.1 5-7 October 26, 2009
Froyo 2.2 - 2.2.3 8 May 20, 2010
Gingerbread 2.3 - 2.3.7 9 - 10 December 6, 2010
Honeycomb 3.0 - 3.2.6 11 - 13 February 22, 2011
Ice Cream Sandwich 4.0 - 4.0.4 14 - 15 October 18, 2011
Jelly Bean 4.1 - 4.3.1 16 - 18 July 9, 2012
KitKat 4.4 - 4.4.4 19 - 20 October 31, 2013
Lollipop 5.0 - 5.1.1 21- 22 November 12, 2014
By :Ms.Ruchita S.Baviskar
8459495925
Marshmallow 6.0 - 6.0.1 23 October 5, 2015
Nougat 7.0 24 August 22, 2016
Nougat 7.1.0 - 7.1.2 25 October 4, 2016
Oreo 8.0 26 August 21, 2017
Oreo 8.1 27 December 5, 2017
Pie 9.0 28 August 6, 2018
Android 10 10.0 29 September 3, 2019
Android 11 11 3 September 8, 2020
By :Ms.Ruchita S.Baviskar
8459495925
Latest security Latest Google Play
Internal API Initial stable
Name Version number(s) patch Services version[17]
codename[11] level release date
date[16] (release date)
Android 1.0 — 1.0 1 September 23,
2008
Android 1.1 Petit Four 1.1 2 February 9, 2009
Android Cupcake Cupcake 1.5 3 April 27, 2009
Android Donut Donut 1.6 4 September 15,
—
2009
2.0 5 October 27, 2009
2.0.1 6 December 3, 2009
Android Eclair Eclair —
2.1 7 January 11,
2010[18]
Android Froyo Froyo 2.2 – 2.2.3 8 May 20, 2010 3.2.25 (October
2014)
Android 2.3 – 2.3.2 9 December 6, 2010
Gingerbread
Gingerbread 2.3.3 – 2.3.7 10 February 9, 2011 10.0.84 (November
Android 3.0 11 February 22, 2011 2016)
Honeycomb
Honeycomb 3.1 12 May 10, 2011
3.2 – 3.2.6 13 July 15, 2011
Android Ice Cream Ice Cream 4.0 – 4.0.2 14 October 18, 2011 14.8.49 (February
Sandwich Sandwich 4.0.3 – 4.0.4 15 December 16, 2011 2019)
4.1 – 4.1.2 16 July 9, 2012
21.33.56
4.2 – 4.2.2 17 November 13,
Android Jelly Bean Jelly Bean (September
2012
2021)
4.3 – 4.3.1 18 July 24, 2013
4.4 – 4.4.4 19 October 31, 2013 October 2017
Android KitKat Key Lime Pie
4.4W – 4.4W.2 20 June 25, 2014 ?
5.0 – 5.0.2 21 November 4, November 2017
Lemon Meringue [19]
Android Lollipop 2014
Pie
5.1 – 5.1.1 22 March 2, 2015[20] March 2018
Android Macadamia Nut
6.0 – 6.0.1 23 October 2, 2015[21] August 2018
Marshmallow Cookie
7.0 24 August 22, 2016 August 2019
By :Ms.Ruchita S.Baviskar
8459495925
1.1 Android ecosystem S-23
Android ecosystem is nothing but the relationship between Users, Developers/Programmers, and Hardware equipment makers, the
Android ecosystem is nothing but the mutual dependence between Users, Developers, and equipment makers. they are independent of each
other so one cannot exist without the other.
The main block of the android ecosystem is:
Android User
Developer
Equipment Maker
Let discuss the of the Android ecosystem components one by one:
1. Android User (Users buy handsets and software Application):
Android users have more space for customizability for their android devices. Android users are smarter than other users and they are perceived
to have greater levels of support. Android users are also more likely to prefer saving their cost and love the openness of the platform also they
like to customize their device. Android users are fancier to prefer saving money and also android user like customizing their android
handset/device
2. Developers (sell Application):
Android Developers are the professional software developer in designing applications as well as developing applications for Android. Some of
the following tasks where an android developer can play his role in the development of android apps:
Design and build advanced applications for the android platformCollaborate and define with development teams for design and deliver new cool
features.Troubleshoot and fix bugs in new and existing applications for Users.Evaluate and implement new development tools to work with
outside data sources and APIs.
By :Ms.Ruchita S.Baviskar
8459495925
3. Equipment Maker:
Android equipments are available in the market in a huge amount.
Smartwatches: A smartwatch is a handheld, wearable device that closely relates a wristwatch or other time device. In addition to telling time,
many smartwatches are wireless connectivity oriented such as Bluetooth capable. The traditional watch becomes, in effect, a wireless Bluetooth
technology extending the capabilities of the wearer's smartphone to the watch. Smart TV: An Android TV box is a small computer that plugs
into any TV and gives the user the ability to stream content, locally and online. Apps can be downloaded from the Google Play Store, installed,
and do most anything a standard computer can do from streaming videos to writing an email.
Smart Speakers: Smark speakers are booming in the market now, Smark speakers like Google Home, Alexa, We can control our android device
via voice using these smart speakers.
E-Reader: E-Reader is a device used for reading e-books, digital newspapers, other reading stuff.
By :Ms.Ruchita S.Baviskar
8459495925
1.2 Need of Android – S-24 , W-23
There are so many reasons you should choose Android platform for mobile application development.
1. Zero/negligible development cost: The development tools like Android SDK, JDK, and Eclipse IDE etc. are free to download for the
android mobile application development. Also Google charge a small fee $25, to distribute your mobile app on the Android Market.
2. Open Source: The Android OS is an open-source platform based on the Linux kernel and multiple open-source libraries. In this way
developers are free to contribute or extend the platform as necessary for building mobile apps which run on Android devices.
3. Multi-Platform Support: In market, there are a wide range of hardware devices powered by the Android OS, including many different
phones and tablet. Even development of android mobile apps can occur on Windows, Mac OS or Linux.
4. Multi-Carrier Support: World wide a large number of telecom carriers like Airtel, Vodafone, Idea Cellular, AT&T Mobility, BSNL etc.
are supporting Android powered phones.
5. Open Distribution Model: Android Market place (Google Play store) has very few restrictions on the content or functionality of an android
app. So the developer can distribute theirs app through Google Play store and as well other distribution channels like Amazon’s app store
By :Ms.Ruchita S.Baviskar
8459495925
1.2 Features of Android – W-23 , S-22 , W-22
1.Near Field Communication (NFC)
It is the short-range wireless connectivity. It is supported by several Android devices. It permits electronic devices to communicate quickly
across short distances. The main aim of NFC is to perform the payment option quickly than carrying cash and cards.
2.Alternate Keyboards
Android supports multiple keyboards and it can install easily. In other mobiles, the OS doesn’t allow extra keyboard.
3.Infrared Transmission
A built-in infrared transmitter can be supported by the Android operating system. It allows the phone or tablet to use as a remote control. 4.No-
Touch Control
Wave control is an application that is used on Android phones which can control the calls, music, and videos by just waving the hand over the
phone. And here the touch is not required.
5.Battery Swap and Storage
Android phones hold individual hardware capacities. Google’s OS makes it possible to shift and improve the battery which does not hold a
charge for a long time. For expandable storage, Android phones have SD card slots.
By :Ms.Ruchita S.Baviskar
8459495925
6.Widgets
Apps are flexible, but sometimes we need data at a sight instead of having to open an app and wait for it to load. Android widgets allow you
to see the weather apps, music and also remind you of the forthcoming meetings or deadlines by a notification on the screen.
7.Custom ROMs
The Android system is open-source. The developers can remove the current OS and develop their versions, which users can download and
install in place of the stock OS. Some are packed with articles, while others change the look and texture of a device. Thus, Android provides
a host of choices that are not found in the competitive mobile operating systems.
By :Ms.Ruchita S.Baviskar
8459495925
1.3 TOOLS AND SOFTWARE REQUIRED FOR DEVELOPING AN ANDROID APPLICATION – W-23 , S-23
The android developer tools let you create interactive and powerful application for android platform. The tools can be
generally categorized into two types.
1.3.1 SDK tools
1.3.2 Platform tools
SDK tools SDK tools are generally platform independent and are required no matter which android platform you are working on. When you
install the Android SDK into your system, these tools get automatically installed. The list of SDK tools has been given below −
By :Ms.Ruchita S.Baviskar
8459495925
1.3.1 SDK tools
1. android : This tool lets you manage AVDs, projects and the installed components of the SDK.
2. ddms : This tool lets you debug Android applications
3. Draw 9-Patch :This tool allows you to easily create a NinePatch graphic using a WYSIWYG(What You See IS What You Get) editor
4. emulator: This tools let you test your applications without using a physical device
5. mksdcard: Helps you create a disk image (external sdcard storage) that you can use with the emulator
6. proguard : Shrinks, optimizes your code by removing unused code
7. sqlite3: Lets you access the SQLite database/data files created and used by Android applications
8. traceview: Provides a graphical viewer for execution logs saved by your application
9. Adb: Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an emulator instance or connected
Android-powered device.
By :Ms.Ruchita S.Baviskar
8459495925
1.3.2 PLATFORM TOOLS
• The platform tools are customized to support the features of the latest android platform.
• The platform tools are typically updated every time you install a new SDK platform. Each update of the platform tools is backward compatible
with older platforms.
• Some of the platform tools are listd below −
a) Android Debug bridge (ADB)
b) Android Interface definition language (AIDL)
The Android Interface Definition Language (AIDL) is similar to other IDLs . It allows you to define the
programming interface that both the client and service agree upon in order to communicate with each other using interprocess
communication (IPC).
a) aapt, dexdump and dex etc.
a) AAPT2 (Android Asset Packaging Tool) is a build tool that Android Studio and Android Gradle Plugin use to compile and
package your app's resources.
b) The Android platform cames with a handy disassembler tool, called “dexdump”. You find this in your Android SDK
installation directory in the folder”platform-tools”. This allows you to create the Dalvik Virtual Machine bytecode from a dex
file.
c) A DEX file is an executable file saved in a format that contains compiled code written for Android, Google's Linux-
based mobile phone platform. It is technically referred to as a "Dalvik Executable," and can be interpreted by the Dalvik
virtual machine.
By :Ms.Ruchita S.Baviskar
8459495925
1.4 ANDROID ARCHITECTURE OR ANDROID SOFTWARE STACK IS
CATEGORIZED - S-22
By :Ms.Ruchita S.Baviskar
8459495925
Following are the components of Android Architecture:
1.Linux kernel
2.Native libraries (middleware),
3. Android Runtime
4. Application Framework
5.Applications
1) Linux kernel It is the heart of android architecture that exists at the root of android architecture. Linux kernel is responsible for device
drivers, power management, memory management, device management and resource access.
2) Native Libraries
Running on the top of the kernel, the Android framework was developed with various features. It consists of various C/C++ core
libraries with numerous of open source tools. Some of these are:
1. The Android runtime: The Android runtime consist of core libraries of Java and ART(the Android RunTime). Older versions of
Android (4.x and earlier) had Dalvik runtime.
2. Open GL(graphics library): This cross-language, cross-platform application program interface (API) is used to produce 2D and
3D computer graphics.
4. Media frameworks: These libraries allow you to play and record audio and video.
5. Secure Socket Layer (SSL): These libraries are there for Internet security.
6. Free Type: it is used to support font family in android.
By :Ms.Ruchita S.Baviskar
8459495925
3) Android Runtime In android runtime, there are core libraries and DVM (Dalvik Virtual Machine) which is responsible to run android
application. DVM is like JVM but it is optimized for mobile devices. It consumes less memory and provides fast performance
4) Android Framework On the top of Native libraries and android runtime, there is android framework. Android framework includes Android
API's such as UI (User Interface), telephony, resources, locations, Content Providers (data) and package managers. It provides a lot of classes
and interfaces for android application development.
1. Activity Manager: It manages the activity lifecycle and the activity stack.
2. Telephony Manager: It provides access to telephony services as related subscriber information, such as phone numbers.
3. View System: It builds the user interface by handling the views and layouts.
4. Location manager: It finds the device’s geographic location.
5) Applications On the top of android framework, there are applications. All applications such as home, contact, settings, games, browsers are
using android framework that uses android runtime and libraries. Android runtime and native libraries are using linux kernal.
By :Ms.Ruchita S.Baviskar
8459495925
Terminologies Related to Android
1. XML In Android, XML is used for designing the application’s UI like creating layouts, views, buttons, text fields etc. and also used in parsing
data feeds from the internet.
2. View A view is an UI which occupies rectangular area on the screen to draw and handle user events.
3. Layout Layout is the parent of view. It arranges all the views in a proper manner on the screen.
4. Activity An activity can be referred as your device’s screen which you see. User can place UI elements in any order in the created window of
user’s choice.
5. Emulator An emulator is an Android virtual device through which you can select the target Android version or platform to run and test your
developed application.
6. Manifest file Manifest file acts as a metadata for every application. This file contains all the essential information about the application like
app icon, app name, launcher activity, and required permissions etc.
7. Service Service is an application component that can be used for long-running background processes. It is not bounded with any activity as
there is no UI. Any other application component can start a service and this service will continue to run even when the user switches from one
application to another.
8. Broadcast Receiver Broadcast Receiver is another building block of Android application development which allows you to register for system
and application events. It works in such a way that, when the event triggers for the first time all the registered receivers through this broadcast
receiver will get notified for all the events by Android Runtime.
9. Content Providers Content Providers are used to share data between two applications. This can be implemented in two ways: 1. When you
want to implement the existing content provider in another application. 2. When you want to create a new content provider that can share its
data with other applications
10. Intent Intent is a messaging object which can be used to communicate between two or more components like activities, services, broadcast
receiver etc. Intent can also be used to start an activity or service or to deliver a broadcast message.
By :Ms.Ruchita S.Baviskar
8459495925