0% found this document useful (0 votes)
4 views

Unit III - Android

Uploaded by

David
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Unit III - Android

Uploaded by

David
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

ANDROID

● Android is an open source and Linux-based Operating System for mobile devices such
as smartphones and tablet computers.
● Android was developed by the Open Handset Alliance, led by Google, and other
companies.
● Android offers a unified approach to application development for mobile devices which
means developers need to develop only for Android, and their applications should be
able to run on different devices powered by Android.
● The first beta version of the Android Software Development Kit (SDK) was released
by Google in 2007, whereas the first commercial version, Android 1.0, was released in
September 2008.
● On June 27, 2012, at the Google I/O conference, Google announced the next Android
version, 4.1 Jelly Bean. Jelly Bean is an incremental update, with the primary aim of
improving the user interface, both in terms of functionality and performance.
● The source code for Android is available under free and open source software licenses.
Google publishes most of the code under the Apache License version 2.0 and the rest,
Linux kernel changes, under the GNU General Public License version 2.

Features of Android
Android is a powerful operating system competing with Apple 4GS and support great
features. Few of them are listed below:

Feature Description
Beautiful UI Android OS basic screen provides a
beautiful and intuitive user interface.
Connectivity GSM/EDGE, IDEN, CDMA, EV-DO, UMTS,
Bluetooth, Wi-Fi, LTE, NFC and WiMAX.
Storage SQLite, a lightweight relational database,
is used for data storage purposes.
Media support H.263, H.264, MPEG-4 SP, AMR, AMR-
WB, AAC, HE-AAC, AAC 5.1, MP3, MIDI,
Ogg Vorbis, WAV, JPEG, PNG, GIF, and
BMP
Messaging SMS and MMS
Web browser Based on the open-source WebKit layout
engine, coupled with Chrome's V8
JavaScript engine supporting HTML5 and
CSS3.
Multi-touch Android has native support for multi-
touch which was initially made available
in handsets such as the HTC Hero.
Multi-tasking User can jump from one task to another
and same time various application can
run simultaneously.
Resizable widgets Widgets are resizable, so users can
expand them to show more content or
shrink them to save space
Multi-Language Support single direction and bi-
directional text.
GCM Google Cloud Messaging (GCM) is a
service that let developers send short
message data to their users on Android
devices, without needing a proprietary
sync solution.
Wi-Fi Direct A technology that let apps discover and
pair directly, over a high-bandwidth
peer-to-peer connection.
Android Beam A popular NFC-based technology that let
users instantly share, just by touching
two NFC-enabled phones together.

Android Applications
● Android applications are usually developed in the Java language using the Android
Software Development Kit.
● Once developed, Android applications can be packaged easily and sold out either
through a store such as Google Play or the Amazon Appstore.
● Android powers hundreds of millions of mobile devices in more than 190 countries
around the world. It's the largest installed base of any mobile platform and is growing
fast. Every day more than 1 million new Android devices are activated worldwide.

Categories of Android applications

There are many android applications in the market. The top categories are –

Android: Environment Setup

You will be glad to know that you can start your Android application development on either
of the following operating systems –

● Microsoft Windows XP or later version.


● Mac OS X 10.5.8 or later version with Intel chip.
● Linux including GNU C Library 2.7 or later.

Second point is that all the required tools to develop Android applications are freely available
and can be downloaded from the Web. Following is the list of software's you will need before
you start your Android application programming.

● Java JDK5 or later version


● Android Studio
Here last two components are optional and if you are working on Windows machine then these
components make your life easy while doing Java based application development. So let us
have a look how to proceed to set required environment.

Set-up Java Development Kit (JDK)

You can download the latest version of Java JDK from Oracle's Java
site − Java SE Downloads. You will find instructions for installing
JDK in downloaded files, follow the given instructions to install and
configure the setup. Finally set PATH and JAVA_HOME environment
variables to refer to the directory that contains java and javac,
typically java_install_dir/bin and java_install_dir respectively.

If you are running Windows and installed the JDK in C:\jdk1.8.0_102, you would have to put
the following line in your C:\autoexec.bat file.

set PATH=C:\jdk1.8.0_102\bin;%PATH%
set JAVA_HOME=C:\jdk1.8.0_102

Alternatively, you could also right-click on My Computer, select Properties, then Advanced,
then Environment Variables. Then, you would update the PATH value and press the OK button.

On Linux, if the SDK is installed in /usr/local/jdk1.8.0_102 and you use the C shell, you
would put the following code into your .cshrc file.

setenv PATH /usr/local/jdk1.8.0_102/bin:$PATH


setenv JAVA_HOME /usr/local/jdk1.8.0_102

Alternatively, if you use Android studio, then it will know automatically where you have
installed your Java.

Android IDEs

There are so many sophisticated Technologies are available to develop android applications,
the familiar technologies, which are predominantly using tools as follows

● Android Studio
● Eclipse IDE(Deprecated)

Create Android Virtual Device

In Android Virtual Device (AVD) is a configuration that defines the characteristics of an


Android phone, tablet, Wear OS, Android TV, or Automotive OS device that you want to
simulate in the Android Emulator. The Device Manager is an interface you can launch from
Android Studio that helps you create and manage AVDs.

To open the new Device Manager, do one of the following:


● From the Android Studio Welcome screen, select More Actions > Virtual Device
Manager.

● After opening a project, select View > Tool Windows > Device Manager from the
main menu bar.

Android Architecture

Android architecture contains different number of components to support any android device
needs. Android software contains an open-source Linux Kernel having collection of number of
C/C++ libraries which are exposed through an application framework services.

The main components of android architecture are following:-


● Applications
● Application Framework
● Libraries
● Android Runtime
● Linux Kernel
Linux Kernel

Linux Kernel is a bottom layer and heart of the android architecture. It manages all the drivers
such as display drivers, camera drivers, Bluetooth drivers, audio drivers, memory drivers, etc.
which are mainly required for the android device during the runtime.

The Linux Kernel will provide an abstraction layer between the device hardware and the
remainder of the stack. It is responsible for memory management, power management, device
management, resource access, etc.

The Android operating system is based on the Linux kernel. The Android Runtime (ART) relies
on the Linux kernel for underlying functionalities such as threading and low-level memory
management.

The features of Linux kernel are:


● Security: The Linux kernel handles the security between the application and the
system.
● Memory Management: It efficiently handles the memory management thereby
providing the freedom to develop our apps.
● Process Management: It manages the process well, allocates resources to processes
whenever they need them.
● Network Stack: It effectively handles the network communication.
● Driver Model: It ensures that the application works properly on the device and
hardware manufacturers responsible for building their drivers into the Linux build.
With regards to Android, the Kernel is responsible for many foundational functionalities
including but not limited to these:

1. Device drivers
2. Memory Management
3. Process Management

Device Drivers
The Linux Kernel houses the drivers needed to make it possible for the operating system to
work with different hardware components. These drivers provide a standard interface with
which hardware components sourced from different manufacturers can work with.
This makes it possible for device manufacturers to source different components, such as
Bluetooth components, Wifi components, camera components. As long as the manufacturers
match the Android standard specifications, integration is seamless.

1) USB Driver
Linux also provides Android with a means to interface with USB devices. Modern devices
come with different USB ports, including USB 2.0 and new versions of USB, including USB-
C. These drivers make it possible to use the USB port to charge, transfer live data such as logs
from the Android devices, and interact with the android file system.

2) Bluetooth Driver
Linux Kernel provides support for interfacing with Bluetooth hardware components. It
provides a way to read and write data received from supported bluetooth radio frequencies. It
also provides a set of facilities for Android to configure Bluetooth.

3) Wifi Driver
The Linux kernel provides drivers to integrate the WiFi networking hardware components.
WiFi components embedded in mobile devices enable Android devices to connect to wifi
networks. The driver enables the wifi components to broadcast wifi networks and create
hotspots.

4) Display Driver
Android makes it possible to interface with display components. For most devices, the interface
component is an LCD touch-screen. It allows support for configuring and drawing pixels.

5) Audio Driver
Android devices commonly come with hardware components for audio input and output. Audio
drivers in the kernel enable the Android system to use audio received from these components
and also produce audio output.

6) Power Manager
Most Android devices are used while disconnected from power outlets. They thus depend on
batteries to power them for a large chunk of their usage. Linux Kernel comes with a power
management system that’s configurable to meet the needs of the devices using it.
Android OS uses the power manager to make other components on the device power-aware. It
does this by broadcasting various power-related states. These states are Standby, Sleep, and
Low-Battery. On Android, the power manager is tweaked to default to sleep mode to ensure
maximum battery life.

The Power Manager exposes means for applications to react to different power modes.
Applications can also change their behavior to match the current power state of the device.

An application can also request to change the default power policies. Applications can achieve
the desired functionality, such as keeping the hardware components active. An example is
keeping the screen active when reading a book to ensure a user isn’t interrupted. Another
example is keeping the audio components turned on when listening to music in the background.

7) Flash Memory
Most Android devices use flash memory as a means of storage. Flash memory is fast and takes
less space making it perfect for small devices. Linux kernel provides a means for Android
devices to read and write into flash memory. It provides a means to partition the memory in
such a way that the OS and other applications can easily and efficiently share the memory
resource.

8) Binder
Android hosts many applications and system components that each run in their processes. In
most cases, these processes should be isolated from each other to prevent interference and data
corruption. Yet, there are instances that we wish to pass data from one process to another.

The Linux kernel enables data sharing functionality by providing binder drivers. Binder drivers
enable inter-process communication, IPC. Using IPC processes can discover other processes
and share information.

Memory Management

Another responsibility of the Linux Kernel is memory management. As different applications


run, the Kernel ensures the memory space they use doesn’t conflict and overwrite each other.

It also helps ensure that all running apps get adequate memory to function, making sure no
single app takes too much space.

Process Management

Every app in Android runs in a process. The Kernel is also responsible for managing processes.
This means it’s responsible for creating, pausing, stopping, shutting, or killing down processes.

The Kernel enables various functionalities such as running multiple processes at the same time,
communicating between processes, running processes in the background, and so on.

As each process requires its own memory space to function correctly, the Kernel ensures that
memory spaces allotted for each process are protected from other processes. It also ensures that
resources like RAM allotted to processes are freed up when the processes are shut down.
The Linux Kernel is also responsible for distributing work to the processors present in the
device. This makes it possible to maximize the performance of devices with multiple cores as
different apps will have processes being run on a different core.

The Linux Kernel does more task under the hood including enforcing security.

Libraries

The Platform Libraries includes various C/C++ core libraries and Java based libraries such as
Media, Graphics, Surface Manager, OpenGL etc. to provide a support for android development.

● Media library provides support to play and record audio and video formats.
● Surface manager responsible for managing access to the display subsystem.
● OpenGL ES - Android includes support for high performance 2D and 3D graphics with
the Open Graphics Library (OpenGL®), specifically, the OpenGL ES API. OpenGL is
a cross-platform graphics API that specifies a standard software interface for 3D
graphics processing hardware. OpenGL ES is a flavour of the OpenGL specification
intended for embedded devices.
● SGL is also a cross-language, cross-platform application program interface (API) are
used for 2D and 3D computer graphics.
● SQLite is a useful repository for storage and sharing of application data.
● FreeType provides font support.
● Web-Kit This open source web browser engine provides all the functionality to display
web content and to simplify page loading.
● SSL (Secure Sockets Layer) is security technology to establish an encrypted link
between a web server and a web browser.
● Libc - The core of Android contains libraries written in C and C++, which are low-
level languages meant for embedded use that help in maximizing performance. Libc
provides a means to expose low-level system functionalities such as Threads, Sockets,
IO, and the like to these libraries.

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.

Android Runtime(ART)

This is the third section of the architecture and available on the second layer from the bottom.
This section provides a key component called Dalvik Virtual Machine which is a kind of Java
Virtual Machine specially designed and optimized for Android.

The Dalvik VM makes use of Linux core features like memory management and multi-
threading, which is intrinsic in the Java language. The Dalvik VM enables every Android
application to run in its own process, with its own instance of the Dalvik virtual machine.

The Android runtime also provides a set of core libraries which enable Android application
developers to write Android applications using standard Java programming language.

ART performs the translation of the application's bytecode into native instructions that are
later executed by the device's runtime environment.
Features of ART:

● Ahead-of-time (AOT) compilation


● Improved garbage collection
● Support for sampling profiler
● Support for more debugging features
● Improved diagnostic detail in exceptions and crash reports

Application Framework

The Application Framework layer provides many higher-level services to applications in the
form of Java classes. Application developers are allowed to make use of these services in their
applications.

The Android framework includes the following key services −

Activity Manager − Controls all aspects of the application lifecycle


and activity stack.

As end-users interact with the Android device, they start, stop, and jump back and forth across
many applications. Each navigation event triggers activation and deactivation of many
activities in respective applications.

The Android Activity Manager is responsible for predictable and consistent behaviour during
application transitions. The Activity Manager provides a slot for app creators to have their apps
react when the Android OS performs global actions. Applications can listen to events such as
device rotation, app destruction due to memory shortage, an app being shifted out of focus, and
so on.

Some examples of the way applications can react to these transitions include pausing activity
in a game, stopping music playing during a phone call.

Window Manager
Android can determine screen information to determine the requirements needed to create
windows for applications. Windows are the slots where we can view our app user interface.
Android uses the Window manager to provide this information to the apps and the system as
they run so that they can adapt to the mode the device is running on.

The Window Manager helps in delivering a customized app experience. Apps can fill the
complete screen for an immersive experience or share the screen with other apps. Android
enables this by allowing multi-windows for each app.

Location Manager
Most Android devices are equipped with GPS devices that can get user location using satellite
information to which can go all the way to meters precision. Programmers can prompt for
location permission from the users, deliver location, and aware experiences.
Android is also able to utilize wireless technologies to further enrich location details and
increase coverage when devices are enclosed spaces. Android provides these features under the
umbrella of the Location-Manager.

Telephony Manager
Most Android devices serve a primary role in telephony. Android uses TelephoneManager to
combine hardware and software components to deliver telephony features. The hardware
components include external parts such as the sim card, and device parts such as the
microphone, camera, and speakers. The software components include native components such
as dial pad, phone book, ringtone profiles. Using the TelephoneManager, a developer can
extend or fine-tune the default calling functionality.

Resource Manager
Android app usually comes with more than just code. They also have other resources such as
icons, audio and video files, animations, text files, and the like. Android helps in making sure
that there is efficient, responsive access to these resources. It also ensures that the right
resources are delivered to the end-users. For example, the proper language text files are used
when populating fields in the apps.

View System
Android also provides a means to easily create common visual components needed for app
interaction. These components include widgets like buttons, image holders such as ImageView,
components to display a list of items such as ListView, and many more. The components are
premade but are also customizable to fit app developer needs and branding.

Notifications Manager − Allows applications to display alerts and


notifications to the user.

The Notification Manager is responsible for informing Android users of application events. It
does this by giving users visual, audio or vibration signals or a combination of them when an
event occurs. These events have external and internal triggers. Some examples of internal
triggers are low-battery status events that trigger a notification to show low battery. Another
example is user-specified events like an alarm. Some examples of external triggers include new
messages or new wifi networks detected.

Content Providers − Allows applications to publish and share data with


other applications.

Developers can use the content provider to expose data to other applications. For example, they
can make the app data searchable from external search applications. Android itself exposes
data such as calendar data, contact data, and the like using the same system.

Package Manager
Android also provides access to information about installed applications. Android keeps track
of application information such as installation and uninstallation events, permissions the app
requests, and resource utilization such as memory consumption.
This information can enable developers to make their applications to activate or deactivate
functionality depending on new features presented by companion apps.

View System − An extensible set of views used to create application


user interfaces.

Android Application
This is the layer that end-users interact with. It is on this layer where application developers
publish their applications to run.

Android, by default, comes with a set of applications that make android devices usable from
the offset.

1. Home: The Homepage on Android consists of launcher icons for commonly used
applications that the end-user may want quick access to. You can start the apps by
clicking on the launchers of these apps. At the very top of the screen, you have widgets
that show network, battery level, date, and time.
2. Contacts: Android, by default, provides a means to store and retrieve contacts. Contact
information is shared across other apps to enhance functionality.
3. Messages: Android provides the capability to send and receive SMS messages.
4. Email: Android comes with native support for email services. Setting up an Android
device requires a Gmail account. Setting up Gmail activates other email-dependent
components on Android devices. Some email dependent features include security and
recovery mechanisms. Another email dependent feature is access to the Play Store, a
marketplace for Android applications.
5. Browser: Android comes with a default browser.
6. Notification Drawer: Swiping down on the screen exposes the notification drawer. It
provides application events that the user should be aware of. Above the notification are
a set of shortcuts to some commonly used device settings that the users can toggle.
These settings include on and off toggles for various hardware components such as
Bluetooth and Wifi. Long pressing these events enables us to navigate to their
configurations page.

Android Versions

The development of the Android operating system was started in 2003 by Android, Inc.
Later on, it was purchased by Google in 2005. The beta version of Android OS was
released on November 5, 2007, while the software development kit (SDK) was released
on November 12, 2007.

Android versions, name, and API level


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

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 30 September 8, 2020

Android Version 1.0 to 1.1: No codename


Android officially publish its Android version 1.0 in September 2008. It is the initial
version of Android operating system. It supports Web browser to show HTML
and XHTML

web pages, camera, access web email server (POP3, IMAP4, and SMTP). This version contains Google
Calendar, Google Maps, Google Sync, Google Search, Google Talk, Instant messaging, Media player,
Notifications appear in the status bar, wallpaper, YouTube video player, Alarm Clock, Calculator,
Dialer, Pictures (Gallery), Wi-Fi and Bluetooth support.

Android version 1.5: Cupcake


On April 27, 2009, the Android updated to 1.5 with the codename of the dessert item
(Cupcake). It has Linux
kernel 2.6.27. It supports third-party virtual keyboard, Video recording and playback in MPEG-4,
Copy and paste feature, Animated screen translations, auto-rotation option, ability to upload a video
to YouTube, upload photos to Picasa, check phone usage history.

Android version 1.6: Donut


On September 15, 2009, Android 1.6 was released with the name Donut. It contains
numerous new features such as voice and text entry search, bookmark history, contacts,
web, "speak" a string of text, faster camera access, user can select multiple photos for
deletion, support text-to-speech engine, WVGA screen resolutions.

Android version 2.0 to 2.1: Eclair


On October 26, 2009, Android 2.0 was released, whose codename was Eclair. It was
based on Linux kernel 2.6.29. It contains the several new features as expanded account
sync, Microsoft Exchange email support, Bluetooth 2.1, ability to tap a Contact photo and
select to call, SMS
, ability to search all saved SMS, MMS

messages, delete the oldest message automatically when the defined limit is reached, Minor API,
bug fixes.
Android version 2.2 to 2.2.3: Froyo
On May 20, 2010, Android 2.2 (Froyo) was released based on Linux kernel 2.6.32. It
contains several features as speed, memory, performance optimization. JIT compilation,
Integration of Chrome's V8, JavaScript
engine into the Browser application, support Android Cloud to Device Messaging service, Adobe
Flash support, security updates, and performance improvement.

Android version 2.3 to 2.3.7: Gingerbread


On December 6, 2010, the Android 2.3 (Gingerbread) was released based on Linux kernel
2.6.35. It includes the following changes: support for extra-large screen size and
resolutions, updated user interface design with increased simplicity and speed,
enhanced copy/paste functionality, select a word by press-holding, support Near Field
Communication (NFC), headphone virtualization, new Download Manager.
It has improved bug fixes for Nexus S, voice or video chat using Google Talk, network
performance for Nexus S 4G, Gmail application, battery efficiency, fixed a voice search
bug, Google Wallet support for Nexus S 4G.

Android version 3.0 to 3.2.6: Honeycomb


On February 22, 2011, Android 3.0 (Honeycomb) was launched for the first tablet for
Android-based on Linux kernel 2.6.36. It contains the features like "holographic" user
interface for tablet, added system Bar, simplified multitasking tapping Recent Application
in system Bar, redesign the keyboard making fast typing, quick access to camera
exposure, hardware acceleration, support for multi-core processor, UI refinements,
connectivity for USB accessories, support for joysticks and gamepads, high-
performance Wi-Fi lock, improved hardware support, Google Books, fixed data
connectivity issues when coming out of Airplane mode.

Android version 4.0 to 4.0.4: Ice Cream Sandwich


On October 19, 2011, Android 4.0.1 (Ice Cream Sandwich) was launched, which was
based on Linux kernel 3.0.1. It was the last version of officially support Adobe System
Flash player. It introduces the numerous new features: refinements to "Holo" interface
with new Roboto font family, separation of widgets in a new tab, integrated screenshot
capture, improved error correction on the keyboard, improved copy and paste
functionality, build-in photo editor, fixed minor bugs, improvement to graphics, spell-
checking, better camera performance.

Android version 4.1 to 4.3.1: Jelly Bean


On June 27, 2012, Google announced Android 4.1(Jelly Bean) in the Google I/O
conference. It is based on Linux kernel 3.0.31. It updates to following features: smoother
user interface, enhance accessibility, expandable notification, fixed bug on Nexus 7, one-
finger gestures to expand/collapse notifications, lock screen improvement, multiple user
accounts (tablets only), new clock application, Bluetooth low energy support, volume
for incoming call, 4K resolution support, native emoji support, bug fixes for the Nexus 7
LTE.

Android version 4.4 to 4.4.4: KitKat


On September 3, 2013, Google announced Android 4.4 (KitKat)
. Initially, its code name was "Key Lime Pie". Google started on Google's Nexus 5 on October 31,
2013. The minimum required amount of RAM should available to Android is 340 MB. The other
devices with less than 512 MB of RAM must report themselves as "low RAM" devices. It includes
several new features as clock no longer display bold hours, wireless printing capability, WebViews
are based on Chromium engine, sensor batching, built-in screen recording feature, better application
compatibility, camera application loads Google+ Photo instead of Gallery.

Android version 5.0 to 5.1.1: Lollipop


Android 5.0 "Lollipop"
was initially named "Android L" on June 25, 2014. It was officially introduced on November 12, 2014.
Lollipop provides several features like redesigned user interface, support for 64-bit CPUs, support for
print previews, material design, Project Volta for battery life improvement, multiple user accounts,
audio input, and output through USB devices, join Wi-Fi networks, support for multiple SIM cards,
device protection, high-definition voice calls, native Wi-Fi calling support.

Android version 6.0 - 6.0.1: Marshmallow


Android 6.0 "Marshmallow"
was disclosed under the codename "Android M" on May 28, 2015, for Nexus 5 and Nexus 6 phones,
Nexus 9 tablet.

On October 5, 2015, Android lunches "Marshmallow" for all android devices. It contains
the various new features as App Standby feature, introduce the Doze mode to save
battery life, native fingerprint reader support, run-time permission requests, USB-C
support, Unicode 7.0 & 8.0 emoji support.

Android version 7.0 to 7.1.2: Nougat


Android 7.0 "Nougat"
was the major release for the Android operating system. Its initial codename was "Android N". It was
first released as a developer preview on March 9, 2016, with factory images for the Nexus device.

On August 22, 2016, the final preview built was released with following features: file-
based encryption, zoom in the screen, multi-window support, new Data Saver mode,
JIT compiler makes 75 percent faster app installation, picture-in-picture support, support
manager APIs, circular app icons support, send GIFs directly from the default keyboard,
battery usage alerts.

Android version 8.0 to 8.1: Oreo


Android 8.0 "Oreo"
was the 8th major release of the Android operating system. It was first released for developer
preview on March 21, 2017. The final developer preview was released on July 24, 2017.

On August 21, 2017, its stable version was released with several features: picture-in-
picture support, support for Unicode 10.0 emoji (5.0), restructured settings, adoptive
icons, notification channels, notification dots, 2 times faster boot time, Google Play
Protect, Integrated printing support, Neural network API, shared memory API, Android
Oreo Go Edition, autofill framework, automatic light, and dark themes.
Android version 9.0: Pie
Android 9.0 "Pie"
was the ninth major version of the Android operating system. It was first announced and preview
launched by Google on March 7, 2018. It was officially released on August 6, 2018. It has the
following features: the clock has moved to the left of the notification bar, the "screenshot" button
has been added, battery percentage always shown on display.

Android version 10:


Android 10
is the tenth extensive version of the Android

operating system. Android 10 has developed under the codename "Android Q". It was initially
announced by Google on March 13, 2019 and its first beta version was released on same day and its
second beta was released on April 3, 2019.

The stable version of Android 10 was released on September 3, 2019. It contains features
like new permissions to access location in the background, floating setting panel, support
for an AV1 video codec, support for biometric authentication, support the WPA3 Wi-Fi
security.

Android 11
Android 11
operating system is the eleventh big release of Android. It is the 18th version of Android mobile OS,
which was released on 8 September 2020. The alphabetic naming system of Android, based on
deserts, was stopped since Android 10. So therefore, this operating system has branded with
"Android 11".

Android 12
Released on
October 4, 2021

● Easier Wi-Fi sharing.


● Mic and Camera indicator and toggle.[citation needed]
● Option to choose precise or approximate location.[318]
● Privacy Dashboard.[319]
● Gestures can work in immersive mode.[320]
● Performance improvements to system services to improve transitions, power efficiency,
and reduce app startup times.[321]
Android 12L

Released on
March 7, 2022

● Android 12L also features native support for taking scrolling screenshots.
● In addition to the user interface, widgets on Android 12 are also updated with the
new Material You design language.
● Platform
● Performance improvements have been made to system services such as the
WindowManager, PackageManager, system server, and interrupts. It also adds
accessibility improvements for those who are visually impaired. The Android Runtime
has been added to Project Mainline, allowing it to be serviced via Play Store.
● Android 12L adds support for spatial audio, and MPEG-H 3D Audio, and will support
transcoding of HEVC video for backwards compatibility with apps which do not
support it. A "rich content insertion" API eases the ability to transfer formatted text
and media between apps, such as via the clipboard. Third party app stores now have
the ability to update apps without constantly asking the user for permission.
● Privacy

You might also like