Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Chapter One – Introduction to Android

Android operating system is the largest installed base among various mobile platforms across the
globe. Around 2.5 billion devices are powered by Android in more than 190 countries of the world. It
conquered around 71% of the global market share by the end of 2021, and this trend is growing bigger
every other day. The company named Open Handset Alliance developed Android for the first time that
is based on the modified version of the Linux kernel and other open-source software. Google sponsored
the project at initial stages and in the year 2005, it acquired the whole company. In September 2008,
the first Android-powered device was launched to the market.

Android dominates the mobile OS industry because of the long list of features it provides. It’s user-
friendly, has huge community support, provides a greater extent of customization, and a large number
of companies build Android-compatible smartphones. As a result, the market observes a sharp increase
in the demand for developing Android mobile applications, and with that companies need smart
developers with the right skill set. At first, the purpose of Android was thought of as a mobile operating
system. However, with the advancement of code libraries and its popularity among developers of the
divergent domain, Android becomes an absolute set of software for all devices like tablets, wearables,
set-top boxes, smart TVs, notebooks, etc.

1
Features of Android
Android is a powerful open-source operating system that open-source provides immense features and
some of these are listed below.

• Android Open Source Project so we can customize the OS based on our requirements.
• Android supports different types of connectivity for GSM, CDMA, Wi-Fi, Bluetooth, etc. for
telephonic conversation or data transfer.
• Using wifi technology we can pair with other devices while playing games or using other
applications.
• It contains multiple APIs to support location-tracking services such as GPS.
• We can manage all data storage-related activities by using the file manager.
• It contains a wide range of media supports like AVI, MKV, FLV, MPEG4, MP3 etc. to play or
record a variety of audio/video.
• It also supports different image formats like JPEG, PNG, GIF, BMP etc.
• It supports multimedia hardware control to perform playback or recording using a camera and
microphone.
• Android has an integrated open-source WebKit layout-based web browser to support User
Interfaces like HTML5, and CSS3.
• Android supports multi-tasking means we can run multiple applications at a time and can
switch between them.
• It provides support for virtual reality or 2D/3D Graphics.

Android Versions
Google first publicly announced Android in November 2007 but released it on 23 SEPTEMBER 2008 to
be exact. The first device to bring Android into the market was the HTC Dream with the version Android
1.0. Since then, Google released a lot of android versions such as Apple Pie, Banana Bread, Cupcake,
Donut, Éclair, Froyo, Gingerbread, Jellybeans, Kitkat, Lollipop, marshmallow, Nougat, Oreo, etc. with
extra functionalities and new features.

The story of Android dates back to 2003 when Andy Rubin, Rich Miner, Nick Sears, and
Chris White co-founded a start-up Android Inc. in Palo Alto, California. However, the company was
later faced with the insufficiency of funds which brought Google into the picture. Google could sense
the potential the product carried within and sealed a deal worth $50 Million to acquire Android in 2005.
All the four Co-founders soon moved to the Googleplex to continue to develop the OS further under
their new owners. The first public Android Beta Version 1.0 was finally published on 5th November
2007.

Android 1.0 (API 1) and 1.1 (API 2)


Android 1.0 (API 1) was launched on the 23rd Of September 2008. It was incorporated into the HTC
Dream smartphone (aka T-mobile G1 in the US). It thus became the first-ever Android device. The
features it offered included Google Maps, YouTube, an HTML browser, Gmail, camera, Bluetooth, Wi-Fi,

2
and many more. The unique feature at that time was the presence of an Android Market (now Play Store)
from where the users could download and update Android applications additional to what was already
pre-installed. A few months later, in February 2009, Google released the Android 1.1 (API 2) update for
HTC Dream. This time the aim was to make it more robust and user-friendly. There were four major
updates in this version:

• Saving of attachments in messages


• Availability of details and reviews for businesses on Google Maps
• Longer in-call screen timeout by default while the speakerphone was in use along with the
ability to toggle the dial-pad.
• Support was added for a marquee in the system layouts.

Android 1.5 (API 3) aka Cupcake


This version came up in late April 2009 and was the first to have Google’s dessert-themed naming
scheme and be incorporated in the Samsung Galaxy phone series. It was introduced with a lot of
functionalities that we take for granted today. These updates included new features and enhancements
to the ones already present in the above versions, for example, some major updates included auto-
rotation, third-party keyboard support, support for widgets, video recording, enabling copy-paste for
browser, facility to upload videos on YouTube, check phone usage history, etc.

Android Version 11 (API 30)


Android 11 was released on the 8th of September 2020. This version has come up with a tagline ‘The
OS that gets to what’s important’ and it’s pretty much justified. Android 11 brings along capabilities to
control conversations across multiple messaging apps all in the same spot, it allows the user to digitally
select priorities for people they are conversing with and then show the most important conversations at
the top and on the lock screen. Another distinguishing feature is the chat bubbles (similar to the
Facebook messenger) through which users can pin conversations from various messaging apps so they
always appear on their screens. The built-in screen recording feature has been introduced finally that
avoids the installation of an extra app to record the screen. Enhancements have been brought to the
smart reply features and the voice access functionalities. One more captivating feature is the Device
control capability that allows controlling all the connected devices from one place. Google play security
has also been updated remarkably.

14 major versions have been launched by Android till date (Oct. 2024 Android 14 with API level 34)
and with each version, the OS promises to get better. Till the next release let’s speculate what newer
capabilities could an OS unleash!

3
Android Platform architecture
Android operating system’s initial release was in the year 2008. Even at its start, the team behind the
operating system built it on top of the shoulders of giants. Beyond the user interface that the Android OS
presents at the surface level, it is made up of multiple layers. These layers include custom code and open-
source technologies that have been under continuous development for decades. Android has been
developed through massive collaborative efforts and investments by many companies.

When we talk about Android architecture, we mean how the Android system has been designed,
segmented into layers, and built up to work as a system. Building such a complex system requires careful
structuring to ensure all the components work together cohesively. Its architecture ensures that the many
components function as a whole without crashing. In general, the Android platform has six major
components namely:

• Linux kernel –
• Hardware abstraction layer (HAL)
• Android runtime
• Native C/C++ libraries
• Java API framework
• System apps

4
The Android software stack

Linux kernel – The foundation of the Android platform is the Linux kernel. For example, the
Android Runtime (ART) relies on the Linux kernel for underlying functionalities such as threading
and low-level memory management. Using a Linux kernel lets Android take advantage of key
security features and lets device manufacturers develop hardware drivers for a well-known kernel.

Hardware abstraction layer (HAL) - The HAL provides standard interfaces that expose device
hardware capabilities to the higher-level Java API framework. The HAL consists of multiple library
modules, each of which implements an interface for a specific type of hardware component, such as
the camera or Bluetooth module. When a framework API makes a call to access device hardware,
the Android system loads the library module for that hardware component.

Android runtime – For devices running Android version 5.0 (API level 21) or higher, each app runs
in its own process and with its own instance of the Android Runtime (ART). ART is written to run
multiple virtual machines on low-memory devices by executing Dalvik Executable format (DEX) files,
a bytecode format designed specifically for Android that's optimized for a minimal memory
footprint. Build tools, such as d8, compile Java sources into DEX bytecode, which can run on the
Android platform.

Some of the major features of ART include: Ahead-of-time (AOT) and just-in-time (JIT) compilation,
Optimized garbage collection (GC), On Android 9 (API level 28) and higher, conversion of an app
package's DEX files to more compact machine code, Better debugging support.

5
Prior to Android version 5.0 (API level 21), Dalvik was the Android runtime.

Android also includes a set of core runtime libraries that provide most of the functionality of the
Java programming language, including some Java 8 language features, that the Java API framework
uses.

Native C/C++ libraries – Many core Android system components and services, such as ART and
HAL, are built from native code that requires native libraries written in C and C++. The Android
platform provides Java framework APIs to expose the functionality of some of these native libraries
to apps. For example, you can access OpenGL ES through the Android framework’s Java OpenGL
API to add support for drawing and manipulating 2D and 3D graphics in your app.

If you are developing an app that requires C or C++ code, you can use the Android NDK to access
some of these native platform libraries directly from your native code.

Java API framework – The entire feature-set of the Android OS is available to you through APIs
written in the Java language. These APIs form the building blocks you need to create Android apps
by simplifying the reuse of core, modular system components and services, which include the
following:

• A rich and extensible view system you can use to build an app’s UI, including lists, grids, text
boxes, buttons, and even an embeddable web browser

• A resource manager, providing access to non-code resources such as localized strings,


graphics, and layout files

• A notification manager that enables all apps to display custom alerts in the status bar

• An activity manager that manages the lifecycle of apps and provides a common navigation
back stack

• Content providers that enable apps to access data from other apps, such as the Contacts
app, or to share their own data

Developers have full access to the same framework APIs that Android system apps use.

System apps - Android comes with a set of core apps for email, SMS messaging, calendars, internet
browsing, contacts, and more. Apps included with the platform have no special status among the
apps the user chooses to install. So, a third-party app can become the user's default web browser,
SMS messenger, or even the default keyboard. Some exceptions apply, such as the system's
Settings app.

The system apps function both as apps for users and to provide key capabilities that developers can
access from their own app. For example, if you want your app to deliver SMS messages, you don't
need to build that functionality yourself. You can instead invoke whichever SMS app is already
installed to deliver a message to the recipient you specify.

You might also like