SlideShare a Scribd company logo
1 of 46
What is android?
Android is a mobile operating system developed by
Google. It is based on a modified version of the
Linux kernel and other open source software, and
is designed primarily for touchscreen mobile
devices such as smartphones and tablets. In
addition, Google has further developed Android
TV for televisions, Android Auto for cars, and
Wear OS for wrist watches, each with a
specialized user interface. Variants of Android
are also used on game consoles, digital cameras,
PCs and other electronics.
• Founder : Andy Rubin,Rich Miner,Nick Sears,Chris White
• Current Developer : Google, Open Handset Alliance
• Written in : Java (UI), C (core), C++ and others
• OS family : Unix-like (Modified Linux kernel)
• Initial release : 23rd September 2008
• Lateset release : 6th August 2018 [Android 9 Pie]
• Kernel type : Monolithic
• Source model : Open Source
• Default UI : Garphical (multi-touch)
• License : Apache License 2.0, GNU GPL v2
• Official Website : www.android.com
History
• Android Inc. was founded in Palo Alto, California, in October 2003 by
Andy Rubin, Rich Miner, Nick Sears, and Chris White.
• The early intentions of the company were to develop an advanced
operating system for digital cameras, and this was the basis of its pitch
to investors in April 2004.
• Rubin had difficulty attracting investors early on, and Android was
facing eviction from its office space. Steve Perlman, a close friend of
Rubin, brought him $10,000 in cash in an envelope, and shortly
thereafter wired an undisclosed amount as seed funding. Perlman
refused a stake in the company, and has stated "I did it because I
believed in the thing, and I wanted to help Andy.”
• In July 2005, Google acquired Android Inc. for at least $50 million. Its
key employees, including Rubin, Miner and White, joined Google as part
of the acquisition.
• At Google, the team led by Rubin developed a mobile device platform
powered by the Linux kernel. Google marketed the platform to handset
makers and carriers on the promise of providing a flexible, upgradeable
system.
First Release
• The first commercially available smartphone running Android was the HTC
Dream, also known as T-Mobile G1, announced on September 23, 2008.
• On November 5, 2007, the Open Handset Alliance, a consortium of
technology companies including Google, device manufacturers such as HTC,
Motorola and Samsung, wireless carriers such as Sprint and T-Mobile, and
chipset makers such as Qualcomm and Texas Instruments, unveiled itself,
with a goal to develop "the first truly open and comprehensive platform
for mobile devices”.
• In 2010, Google launched its Nexus series of devices, a lineup in which
Google partnered with different device manufacturers to produce new
devices and introduce new Android versions. The series was described as
having "played a pivotal role in Android's history by introducing new
software iterations and hardware standards across the board", and
became known for its "bloat-free" software with "timely ... updates".
• Google introduced the Pixel and Pixel XL smartphones in October 2016,
marketed as being the first phones made by Google
Features
• General Features
Messaging, Auto Correction and Dictionary, Web Browser, Voice-based
features, Multi-touch, Multitasking, Screen capture, TV recording,
Video calling, Multiple language support, Accessibility, etc..
• Connectivity
GSM/EDGE, Wi-Fi, Bluetooth, LTE, CDMA, EV-DO, UMTS, NFC, IDEN,
WiMAX, Tethering, etc..
• Media
Streaming media support, Media support, External storage, etc..
• Hardware Support
Cameras, touchscreens, GPS, accelerometers, gyroscopes, barometers,
magnetometers, proximity and pressure sensors, thermometers, GPU,
etc..
• Other
Java support, Handset layouts, Storage, Native Apps,Instant Apps,
etc..
Inferface
• Android's default user interface is mainly based on direct manipulation,
using touch inputs that loosely correspond to real-world actions, like
swiping, tapping, pinching, and reverse pinching to manipulate on-screen
objects, along with a virtual keyboard.
• Game controllers and full-size physical keyboards are supported via
Bluetooth or USB.
• The response to user input is designed to be immediate and provides a fluid
touch interface, often using the vibration capabilities of the device to
provide haptic feedback to the user.
• Internal hardware, such as accelerometers, gyroscopes and proximity
sensors are used by some applications to respond to additional user actions,
for example adjusting the screen from portrait to landscape depending on
how the device is oriented, or allowing the user to steer a vehicle in a racing
game by rotating the device, simulating control of a steering wheel.
• Along the top of the screen is a status bar, showing information about the
device and its connectivity. This status bar can be "pulled" down to reveal a
notification screen where apps display important information or updates
Hardware
• The main hardware platform for Android is ARM (the ARMv7 and
ARMv8-A architectures), with x86 and x86-64 architectures also
officially supported in later versions of Android.
• Requirements for the minimum amount of RAM for devices
running Android 7.1 range from in practice 2 GB for best
hardware, down to 1 GB for the most common screen, to absolute
minimum 512 MB for the lowest spec 32-bit smartphone.
• Android devices incorporate many optional hardware components,
including cameras, GPS, orientation sensors, dedicated gaming
controls, accelerometers, gyroscopes, barometers,
magnetometers, proximity sensors, pressure sensors,
thermometers, and touchscreens.
• In addition to running on smartphones and tablets, several
vendors run Android natively on regular PC hardware with a
keyboard and mouse
Development
• Android is developed by Google until the
latest changes and updates are ready to
be released, at which point the source
code is made available to the Android
Open Source Project (AOSP), an open
source initiative led by Google.
• Android's source code does not contain
the often proprietary device drivers that
are needed for certain hardware
components. The source code is, in turn,
customized and adapted by original
equipment manufacturers (OEMs) to run
on their hardware.
• The AOSP code can be found without
modification on select devices, mainly the
Nexus and Pixel series of devices. The stack of Android Open
Source Project
Updates
• Google announces major incremental upgrades to Android on a yearly
basis. The updates can be installed on devices over-the-air. The latest
major release is 9 "Pie".
• The extensive variation of hardware in Android devices causes significant
delays for software upgrades, with new versions of the operating system
and security patches typically taking months before reaching consumers,
or sometimes not at all.
• In 2012, Google began decoupling certain aspects of the operating system
(particularly its core applications) so they could be updated through the
Google Play store independently of the OS. One of those components,
Google Play Services, is a closed-source system-level process providing
APIs for Google services, installed automatically on nearly all devices
running Android 2.2 "Froyo" and higher.
• In May 2017, with the announcement of Android 8.0, Google introduced
Project Treble, a major re-architect of the Android OS framework
designed to make it easier, faster, and less costly for manufacturers to
update devices to newer versions of Android.
ANDROID Versions
 There were at least two internal releases of the software inside Google.
o Alpha
o Beta
 Version 1.0 (no code name)
Linux kernel version : _
Initial release date : September 23, 2008
API level : 1
 Version 1.1 (Petit Four)
Linux kernel version : 2.6
Initial release date : February 9, 2009
API level : 2
ANDROID 1.5 Cupcake
o Support for 3rd-party virtual keyboards
o Text prediction
o Widgets were enabled
o Video recording and playback
o Copy and paste feature added
Linux kernel version : 2.6.27
Initial release date : April 27, 2009
API level : 3
ANDROID 1.6 Donut
o Quick Search Box
o Screen Size Diversity
o Google Play
Linux kernel version : 2.6.29
Initial release date : September 15, 2009
API level : 4
ANDROID 2.1 Eclair
o Google maps Navigation
o Home Screen Customisation
o Speech-to-text
Linux kernel version : 2.6.29
Initial release date : October 26, 2009
API level : 5 - 7
ANDROID 2.2 Froyo
o Voice Actions
o Portable Hotspot
o Performance
Linux kernel version : 2.6.32
Initial release date : May 20, 2010
API level : 8
ANDROID 2.3
Gingerbread
o Gaming APIs
o NFC
o Battery Management
Linux kernel version : 2.6.35
Initial release date : December 6, 2010
API level : 9 - 10
ANDROID 3.0 Honeycomb
o Tablet-Friendly Design
o System Bar
o Quick Settings
Linux kernel version : 2.6.36
Initial release date : February 22, 2011
API level : 11 - 13
ANDROID 4.0
Ice Cream Sandwich
o Customise Home Screen
o Data usage Control
o Android Beam
Linux kernel version : 3.0.1
Initial release date : October 18, 2011
API level : 14 - 15
ANDROID 4.1 Jelly Bean
o Google Now
o Actionable Notifications
o Account Switching
Linux kernel version : 3.0.31 – 3.4.39
Initial release date : July 9, 2012
API level : 16 - 18
ANDROID 4.4 KitKat
o Voice : OK Google
o Immersive Design
o Smart Dialler
Linux kernel version : 3.10
Initial release date : October 31, 2013
API level : 19 - 20
ANDROID 5.1
Lollipop
o Material Design
o Multiscreen
o Notifications
Linux kernel version : 3.16
Initial release date : November 12, 2014
API level : 21 - 22
ANDROID 6.0
Marshmallow
o Now on Tap
o Permission
o Battery
Linux kernel version : 3.18
Initial release date : October 5, 2015
API level : 23
ANDROID 7.0 Nougat
o Speaks your languages
o Multi-window view
o Quick switch between apps
o Enjoy simple, high quality VR
o Smarter battery
o Security
Linux kernel version : 4.4
Initial release date : August 22, 2016
API level : 24 - 25
ANDROID 8.0
Oreo
o 2x faster moves
o Background limits
o AutoFill
o Picture-in-picture
o Dive into more apps
Linux kernel version : 4.10
Initial release date : August 21, 2017
API level : 26 - 27
ANDROID 9.0 Pie
o Adaptive Battery
o Adaptive Brightness
o App Actions
o Slices
o Intuitive Navigation
o Digital Wellbeing
o Dashboard
o App Timers
o Wind Down and Do not Disturb
Linux kernel version : 4.4.107, 4.9.84 & 4.14.42
Initial release date : August 6, 2018
API level : 28
ANDROID Kernel
A kernel in an operating system—in this
case Android—is the component
responsible for helping your applications
communicate with your hardware.
It manages the system resources,
communicates with external devices
when needed, and so on. Android uses a
variation of the Linux kernel.
A kernel is not the same as a ROM, even
though you install them in mostly the
same way.
A ROM is a bit more all-encompassing.
It's the operating system you use on
your phone, the software your phone
uses to get things done, the kernel is
the bridge between that ROM and
your hardware. All ROMs come with a
kernel installed, but you can install a
third-party one if you like—.
• Android's kernel is based on the Linux kernel's long-term support (LTS)
branches. (The actual kernel depends on the individual device.)
• Android's variant of the Linux kernel has further architectural changes
that are implemented by Google outside the typical Linux kernel
development cycle, such as the inclusion of components like device
trees, ashmem, ION, and different out of memory (OOM) handling..
• Google engineer Patrick Brady once stated in the company's developer
conference that,
 "Android is not Linux“
 "Let me make it simple for you, without Linux, there is no Android".
• “Although Android is built on top of the Linux kernel, the platform has
very little in common with the conventional desktop Linux stack"
Understanding the facts
Android File System Structure
• Android uses the Linux file system structure which has a single root
• The flash storage on Android devices is split into several partitions,
such as /system for the operating system itself, and /data for user
data and application installations
• In contrast to desktop Linux distributions, Android device owners
are not given root access to the operating system and sensitive
partitions such as /system are read-only.
• However, root access can be obtained by exploiting security flaws in
Android, which is used frequently by the open-source community to
enhance the capabilities of their devices, but also by malicious
parties to install viruses and malware.
Android Partitions
Standard internal memory partitions on Android phones
and tablets are,
• /boot
• /system
• /recovery
• /data
• /cache
• /misc
In addition, there are the SD card partitions.
• /sdcard
• /sd-ext
/boot
• This is the partition that enables the phone to boot, as
the name suggests. It includes the kernel and the ramdisk.
• Without this partition, the device will simply not be able
to boot.
• Wiping this partition from recovery should only be done if
absolutely required and once done, the device must NOT
be rebooted before installing a new one, which can be done
by installing a ROM that includes a /boot partition.
/recovery
• The recovery partition can be considered as an alternative
boot partition that lets you boot the device into a
recovery console for performing advanced recovery and
maintenance operations on it.
• All Android devices ship with a recovery console that is
basically a partition on the device’s internal memory and
can be booted into.
• The stock recovery of almost all Android devices provides
a few basic yet handy options that allow you to factory
reset your device, clear its cache partition, and recover its
operating system using an official ROM in zip format, but
that’s all you can do with it.
/data
• Also called userdata, the data partition contains the user’s
data – this is where your contacts, messages, settings and
apps that you have installed go.
• Wiping this partition essentially performs a factory reset
on your device, restoring it to the way it was when you
first booted it, or the way it was after the last official or
custom ROM installation.
• When you perform a wipe data/factory reset from
recovery, it is this partition that you are wiping.
/cache
• This is the partition where Android stores frequently
accessed data and app components.
• Wiping the cache doesn’t effect your personal data but
simply gets rid of the existing data there, which gets
automatically rebuilt as you continue using the device.
/misc
• This partition contains miscellaneous system settings in
form of on/off switches.
• These settings may include CID (Carrier or Region ID),
USB configuration and certain hardware settings etc.
• This is an important partition and if it is corrupt or
missing, several of the device’s features will will not
function normally.
/sdcard
• This is not a partition on the internal memory of the device but rather
the SD card. In terms of usage, this is your storage space to use as
you see fit, to store your media, documents, ROMs etc. on it.
• Wiping it is perfectly safe as long as you backup all the data you
require from it, to your computer first.
• Though several user-installed apps save their data and settings on the
SD card and wiping this partition will make you lose all that data.
/sd-ext
• This is not a standard Android partition, but has become popular in the
custom ROM scene.
• It is basically an additional partition on your SD card that acts as the
/data partition when used with certain ROMs that have special
features called APP2SD+ or data2ext enabled.
• It is especially useful on devices with little internal memory allotted to
the /data partition.
Android System Architecture
Software stack
• On top of the Linux kernel, there are the middleware, libraries and
APIs written in C, and application software running on an application
framework which includes Java-compatible libraries. Development of
the Linux kernel continues independently of Android's other source
code projects.
• Android uses Android Runtime (ART) as its runtime environment
(introduced in version 4.4), which uses ahead-of-time (AOT) compilation
to entirely compile the application bytecode into machine code upon the
installation of an application.
• In Android 4.4, ART was an experimental feature and not enabled by
default; it became the only runtime option in the next major version of
Android, 5.0.
• Until version 5.0 when ART took over, Android previously used Dalvik as
a process virtual machine with trace-based just-in-time (JIT)
compilation to run Dalvik "dex-code" (Dalvik Executable), which is
usually translated from the Java bytecode.
• For its Java library, the Android platform uses a subset of the now
discontinued Apache Harmony project.[179] In December 2015, Google
announced that the next version of Android would switch to a Java
implementation based on the OpenJDK project.
• Android's standard C library, Bionic, was developed by Google
specifically for Android, as a derivation of the BSD's standard C library
code. Bionic itself has been designed with several major features
specific to the Linux kernel. The main benefits of using Bionic instead
of the GNU C Library (glibc) or uClibc are its smaller runtime footprint,
and optimization for low-frequency CPUs.
Software stack
Open-source community
• Android's source code is released by Google under an open source
license.
• Its open nature has encouraged a large community of developers and
enthusiasts to use the open-source code as a foundation for community-
driven projects, which deliver updates to older devices, add new
features for advanced users or bring Android to devices originally
shipped with other operating systems.
• These community-developed releases often bring new features and
updates to devices faster than through the official
manufacturer/carrier channels, with a comparable level of quality.
• Community releases often come pre-rooted and contain modifications
not provided by the original vendor, such as the ability to overclock or
over/undervolt the device's processor.
• Example for Community releases of Android are LineageOS, etc..
Technical Security Features
• Android applications run in a sandbox, an isolated area of the system that
does not have access to the rest of the system's resources, unless access
permissions are explicitly granted by the user when the application is
installed, however this may not be possible for pre-installed apps.
• Since February 2012, Google has used its Google Bouncer malware scanner
to watch over and scan apps available in the Google Play store. A "Verify
Apps" feature was introduced in November 2012, as part of the Android 4.2
"Jelly Bean" operating system version, to scan all apps, both from Google
Play and from third-party sources, for malicious behavior.
• Before installing an application, the Google Play store displays a list of the
requirements an app needs to function. After reviewing these permissions,
the user can choose to accept or refuse them, installing the application only
if they accept. In Android 6.0 "Marshmallow", the permissions system was
changed; apps are no longer automatically granted all of their specified
permissions at installation time.
• In August 2013, Google announced Android Device Manager (renamed Find
My Device in May 2017), a service that allows users to remotely track,
locate, and wipe their Android device, with an Android app for the service
released in December.
The "Sooner" prototype phone,
running a pre-release version of
Android
HTC Dream or T-Mobile G1,
the first commercially
released device running
Android (2008)
Jowin John Chemban
S6 CSE
Holy Grace Academy of Engineering

More Related Content

What's hot

What is Android OS in ppt ?
What is Android OS in ppt ? What is Android OS in ppt ?
What is Android OS in ppt ? SoonTips.com
 
Mobile OS Computer presentation
Mobile OS Computer presentationMobile OS Computer presentation
Mobile OS Computer presentationMd Rabius Sany
 
Android and android versions
Android and android versionsAndroid and android versions
Android and android versionsMegha Jain
 
Android Operating System (Androrid OS)
Android Operating System (Androrid OS)Android Operating System (Androrid OS)
Android Operating System (Androrid OS)Siddharth Belbase
 
Android - A brief introduction
Android - A brief introductionAndroid - A brief introduction
Android - A brief introductionRoshan Gautam
 
Introduction to Android ppt
Introduction to Android pptIntroduction to Android ppt
Introduction to Android pptTaha Malampatti
 
Android app development
Android app developmentAndroid app development
Android app developmentTanmoy Roy
 
android media player project proposal
android media player project proposalandroid media player project proposal
android media player project proposalMuhammad Usman
 
History and development of Android OS
History and development of Android OSHistory and development of Android OS
History and development of Android OSusernameleon
 
Android application development ppt
Android application development pptAndroid application development ppt
Android application development pptGautam Kumar
 
android technology presentation
android technology presentationandroid technology presentation
android technology presentationNishul Tomar
 
Android chapter02-setup2-emulator
Android chapter02-setup2-emulatorAndroid chapter02-setup2-emulator
Android chapter02-setup2-emulatorguru472
 
MOBILE OPERATING SYSTEM
MOBILE OPERATING SYSTEMMOBILE OPERATING SYSTEM
MOBILE OPERATING SYSTEMcool192
 

What's hot (20)

What is Android OS in ppt ?
What is Android OS in ppt ? What is Android OS in ppt ?
What is Android OS in ppt ?
 
Mobile OS Computer presentation
Mobile OS Computer presentationMobile OS Computer presentation
Mobile OS Computer presentation
 
Android Basic Concept
Android Basic Concept Android Basic Concept
Android Basic Concept
 
Android and android versions
Android and android versionsAndroid and android versions
Android and android versions
 
Android Operating System (Androrid OS)
Android Operating System (Androrid OS)Android Operating System (Androrid OS)
Android Operating System (Androrid OS)
 
Android - A brief introduction
Android - A brief introductionAndroid - A brief introduction
Android - A brief introduction
 
Introduction to Android ppt
Introduction to Android pptIntroduction to Android ppt
Introduction to Android ppt
 
Android app development
Android app developmentAndroid app development
Android app development
 
mobile Os
mobile Osmobile Os
mobile Os
 
Android Operating System
Android Operating SystemAndroid Operating System
Android Operating System
 
android media player project proposal
android media player project proposalandroid media player project proposal
android media player project proposal
 
History and development of Android OS
History and development of Android OSHistory and development of Android OS
History and development of Android OS
 
Android application development ppt
Android application development pptAndroid application development ppt
Android application development ppt
 
PPT on Android
PPT on AndroidPPT on Android
PPT on Android
 
Android vs iOS
Android vs iOSAndroid vs iOS
Android vs iOS
 
Android ppt
Android pptAndroid ppt
Android ppt
 
android technology presentation
android technology presentationandroid technology presentation
android technology presentation
 
Android chapter02-setup2-emulator
Android chapter02-setup2-emulatorAndroid chapter02-setup2-emulator
Android chapter02-setup2-emulator
 
MOBILE OPERATING SYSTEM
MOBILE OPERATING SYSTEMMOBILE OPERATING SYSTEM
MOBILE OPERATING SYSTEM
 
Android Presentation
Android PresentationAndroid Presentation
Android Presentation
 

Similar to Android Seminar Presentation [March 2019]

Similar to Android Seminar Presentation [March 2019] (20)

Android and Android phones
Android and Android phonesAndroid and Android phones
Android and Android phones
 
Android...by raziel lucagbo
Android...by raziel lucagboAndroid...by raziel lucagbo
Android...by raziel lucagbo
 
Android
AndroidAndroid
Android
 
What is operating system
What is operating systemWhat is operating system
What is operating system
 
What is operating system
What is operating systemWhat is operating system
What is operating system
 
Android OS 2019
Android OS 2019Android OS 2019
Android OS 2019
 
Android presantation
Android presantationAndroid presantation
Android presantation
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phones
 
Android presentation
Android presentationAndroid presentation
Android presentation
 
Android presentation -the latest mobile operating system.
Android presentation -the latest mobile operating system.Android presentation -the latest mobile operating system.
Android presentation -the latest mobile operating system.
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phones
 
Android
AndroidAndroid
Android
 
01 Introduction to Android
01 Introduction to Android01 Introduction to Android
01 Introduction to Android
 
Google android
Google androidGoogle android
Google android
 
Android introduction
Android introductionAndroid introduction
Android introduction
 
Introduction to Android development - Presentation Report
Introduction to Android development - Presentation ReportIntroduction to Android development - Presentation Report
Introduction to Android development - Presentation Report
 
Android
AndroidAndroid
Android
 
Android
AndroidAndroid
Android
 
Android
AndroidAndroid
Android
 
Android
AndroidAndroid
Android
 

Recently uploaded

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Recently uploaded (20)

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

Android Seminar Presentation [March 2019]

  • 1.
  • 3. Android is a mobile operating system developed by Google. It is based on a modified version of the Linux kernel and other open source software, and is designed primarily for touchscreen mobile devices such as smartphones and tablets. In addition, Google has further developed Android TV for televisions, Android Auto for cars, and Wear OS for wrist watches, each with a specialized user interface. Variants of Android are also used on game consoles, digital cameras, PCs and other electronics.
  • 4. • Founder : Andy Rubin,Rich Miner,Nick Sears,Chris White • Current Developer : Google, Open Handset Alliance • Written in : Java (UI), C (core), C++ and others • OS family : Unix-like (Modified Linux kernel) • Initial release : 23rd September 2008 • Lateset release : 6th August 2018 [Android 9 Pie] • Kernel type : Monolithic • Source model : Open Source • Default UI : Garphical (multi-touch) • License : Apache License 2.0, GNU GPL v2 • Official Website : www.android.com
  • 5. History • Android Inc. was founded in Palo Alto, California, in October 2003 by Andy Rubin, Rich Miner, Nick Sears, and Chris White. • The early intentions of the company were to develop an advanced operating system for digital cameras, and this was the basis of its pitch to investors in April 2004. • Rubin had difficulty attracting investors early on, and Android was facing eviction from its office space. Steve Perlman, a close friend of Rubin, brought him $10,000 in cash in an envelope, and shortly thereafter wired an undisclosed amount as seed funding. Perlman refused a stake in the company, and has stated "I did it because I believed in the thing, and I wanted to help Andy.” • In July 2005, Google acquired Android Inc. for at least $50 million. Its key employees, including Rubin, Miner and White, joined Google as part of the acquisition. • At Google, the team led by Rubin developed a mobile device platform powered by the Linux kernel. Google marketed the platform to handset makers and carriers on the promise of providing a flexible, upgradeable system.
  • 6. First Release • The first commercially available smartphone running Android was the HTC Dream, also known as T-Mobile G1, announced on September 23, 2008. • On November 5, 2007, the Open Handset Alliance, a consortium of technology companies including Google, device manufacturers such as HTC, Motorola and Samsung, wireless carriers such as Sprint and T-Mobile, and chipset makers such as Qualcomm and Texas Instruments, unveiled itself, with a goal to develop "the first truly open and comprehensive platform for mobile devices”. • In 2010, Google launched its Nexus series of devices, a lineup in which Google partnered with different device manufacturers to produce new devices and introduce new Android versions. The series was described as having "played a pivotal role in Android's history by introducing new software iterations and hardware standards across the board", and became known for its "bloat-free" software with "timely ... updates". • Google introduced the Pixel and Pixel XL smartphones in October 2016, marketed as being the first phones made by Google
  • 7. Features • General Features Messaging, Auto Correction and Dictionary, Web Browser, Voice-based features, Multi-touch, Multitasking, Screen capture, TV recording, Video calling, Multiple language support, Accessibility, etc.. • Connectivity GSM/EDGE, Wi-Fi, Bluetooth, LTE, CDMA, EV-DO, UMTS, NFC, IDEN, WiMAX, Tethering, etc.. • Media Streaming media support, Media support, External storage, etc.. • Hardware Support Cameras, touchscreens, GPS, accelerometers, gyroscopes, barometers, magnetometers, proximity and pressure sensors, thermometers, GPU, etc.. • Other Java support, Handset layouts, Storage, Native Apps,Instant Apps, etc..
  • 8. Inferface • Android's default user interface is mainly based on direct manipulation, using touch inputs that loosely correspond to real-world actions, like swiping, tapping, pinching, and reverse pinching to manipulate on-screen objects, along with a virtual keyboard. • Game controllers and full-size physical keyboards are supported via Bluetooth or USB. • The response to user input is designed to be immediate and provides a fluid touch interface, often using the vibration capabilities of the device to provide haptic feedback to the user. • Internal hardware, such as accelerometers, gyroscopes and proximity sensors are used by some applications to respond to additional user actions, for example adjusting the screen from portrait to landscape depending on how the device is oriented, or allowing the user to steer a vehicle in a racing game by rotating the device, simulating control of a steering wheel. • Along the top of the screen is a status bar, showing information about the device and its connectivity. This status bar can be "pulled" down to reveal a notification screen where apps display important information or updates
  • 9. Hardware • The main hardware platform for Android is ARM (the ARMv7 and ARMv8-A architectures), with x86 and x86-64 architectures also officially supported in later versions of Android. • Requirements for the minimum amount of RAM for devices running Android 7.1 range from in practice 2 GB for best hardware, down to 1 GB for the most common screen, to absolute minimum 512 MB for the lowest spec 32-bit smartphone. • Android devices incorporate many optional hardware components, including cameras, GPS, orientation sensors, dedicated gaming controls, accelerometers, gyroscopes, barometers, magnetometers, proximity sensors, pressure sensors, thermometers, and touchscreens. • In addition to running on smartphones and tablets, several vendors run Android natively on regular PC hardware with a keyboard and mouse
  • 10. Development • Android is developed by Google until the latest changes and updates are ready to be released, at which point the source code is made available to the Android Open Source Project (AOSP), an open source initiative led by Google. • Android's source code does not contain the often proprietary device drivers that are needed for certain hardware components. The source code is, in turn, customized and adapted by original equipment manufacturers (OEMs) to run on their hardware. • The AOSP code can be found without modification on select devices, mainly the Nexus and Pixel series of devices. The stack of Android Open Source Project
  • 11. Updates • Google announces major incremental upgrades to Android on a yearly basis. The updates can be installed on devices over-the-air. The latest major release is 9 "Pie". • The extensive variation of hardware in Android devices causes significant delays for software upgrades, with new versions of the operating system and security patches typically taking months before reaching consumers, or sometimes not at all. • In 2012, Google began decoupling certain aspects of the operating system (particularly its core applications) so they could be updated through the Google Play store independently of the OS. One of those components, Google Play Services, is a closed-source system-level process providing APIs for Google services, installed automatically on nearly all devices running Android 2.2 "Froyo" and higher. • In May 2017, with the announcement of Android 8.0, Google introduced Project Treble, a major re-architect of the Android OS framework designed to make it easier, faster, and less costly for manufacturers to update devices to newer versions of Android.
  • 12. ANDROID Versions  There were at least two internal releases of the software inside Google. o Alpha o Beta  Version 1.0 (no code name) Linux kernel version : _ Initial release date : September 23, 2008 API level : 1  Version 1.1 (Petit Four) Linux kernel version : 2.6 Initial release date : February 9, 2009 API level : 2
  • 13. ANDROID 1.5 Cupcake o Support for 3rd-party virtual keyboards o Text prediction o Widgets were enabled o Video recording and playback o Copy and paste feature added Linux kernel version : 2.6.27 Initial release date : April 27, 2009 API level : 3
  • 14. ANDROID 1.6 Donut o Quick Search Box o Screen Size Diversity o Google Play Linux kernel version : 2.6.29 Initial release date : September 15, 2009 API level : 4
  • 15. ANDROID 2.1 Eclair o Google maps Navigation o Home Screen Customisation o Speech-to-text Linux kernel version : 2.6.29 Initial release date : October 26, 2009 API level : 5 - 7
  • 16. ANDROID 2.2 Froyo o Voice Actions o Portable Hotspot o Performance Linux kernel version : 2.6.32 Initial release date : May 20, 2010 API level : 8
  • 17. ANDROID 2.3 Gingerbread o Gaming APIs o NFC o Battery Management Linux kernel version : 2.6.35 Initial release date : December 6, 2010 API level : 9 - 10
  • 18. ANDROID 3.0 Honeycomb o Tablet-Friendly Design o System Bar o Quick Settings Linux kernel version : 2.6.36 Initial release date : February 22, 2011 API level : 11 - 13
  • 19. ANDROID 4.0 Ice Cream Sandwich o Customise Home Screen o Data usage Control o Android Beam Linux kernel version : 3.0.1 Initial release date : October 18, 2011 API level : 14 - 15
  • 20. ANDROID 4.1 Jelly Bean o Google Now o Actionable Notifications o Account Switching Linux kernel version : 3.0.31 – 3.4.39 Initial release date : July 9, 2012 API level : 16 - 18
  • 21. ANDROID 4.4 KitKat o Voice : OK Google o Immersive Design o Smart Dialler Linux kernel version : 3.10 Initial release date : October 31, 2013 API level : 19 - 20
  • 22. ANDROID 5.1 Lollipop o Material Design o Multiscreen o Notifications Linux kernel version : 3.16 Initial release date : November 12, 2014 API level : 21 - 22
  • 23. ANDROID 6.0 Marshmallow o Now on Tap o Permission o Battery Linux kernel version : 3.18 Initial release date : October 5, 2015 API level : 23
  • 24. ANDROID 7.0 Nougat o Speaks your languages o Multi-window view o Quick switch between apps o Enjoy simple, high quality VR o Smarter battery o Security Linux kernel version : 4.4 Initial release date : August 22, 2016 API level : 24 - 25
  • 25. ANDROID 8.0 Oreo o 2x faster moves o Background limits o AutoFill o Picture-in-picture o Dive into more apps Linux kernel version : 4.10 Initial release date : August 21, 2017 API level : 26 - 27
  • 26. ANDROID 9.0 Pie o Adaptive Battery o Adaptive Brightness o App Actions o Slices o Intuitive Navigation o Digital Wellbeing o Dashboard o App Timers o Wind Down and Do not Disturb Linux kernel version : 4.4.107, 4.9.84 & 4.14.42 Initial release date : August 6, 2018 API level : 28
  • 28. A kernel in an operating system—in this case Android—is the component responsible for helping your applications communicate with your hardware. It manages the system resources, communicates with external devices when needed, and so on. Android uses a variation of the Linux kernel. A kernel is not the same as a ROM, even though you install them in mostly the same way. A ROM is a bit more all-encompassing. It's the operating system you use on your phone, the software your phone uses to get things done, the kernel is the bridge between that ROM and your hardware. All ROMs come with a kernel installed, but you can install a third-party one if you like—.
  • 29. • Android's kernel is based on the Linux kernel's long-term support (LTS) branches. (The actual kernel depends on the individual device.) • Android's variant of the Linux kernel has further architectural changes that are implemented by Google outside the typical Linux kernel development cycle, such as the inclusion of components like device trees, ashmem, ION, and different out of memory (OOM) handling.. • Google engineer Patrick Brady once stated in the company's developer conference that,  "Android is not Linux“  "Let me make it simple for you, without Linux, there is no Android". • “Although Android is built on top of the Linux kernel, the platform has very little in common with the conventional desktop Linux stack" Understanding the facts
  • 30. Android File System Structure • Android uses the Linux file system structure which has a single root • The flash storage on Android devices is split into several partitions, such as /system for the operating system itself, and /data for user data and application installations • In contrast to desktop Linux distributions, Android device owners are not given root access to the operating system and sensitive partitions such as /system are read-only. • However, root access can be obtained by exploiting security flaws in Android, which is used frequently by the open-source community to enhance the capabilities of their devices, but also by malicious parties to install viruses and malware.
  • 31. Android Partitions Standard internal memory partitions on Android phones and tablets are, • /boot • /system • /recovery • /data • /cache • /misc In addition, there are the SD card partitions. • /sdcard • /sd-ext
  • 32. /boot • This is the partition that enables the phone to boot, as the name suggests. It includes the kernel and the ramdisk. • Without this partition, the device will simply not be able to boot. • Wiping this partition from recovery should only be done if absolutely required and once done, the device must NOT be rebooted before installing a new one, which can be done by installing a ROM that includes a /boot partition.
  • 33. /recovery • The recovery partition can be considered as an alternative boot partition that lets you boot the device into a recovery console for performing advanced recovery and maintenance operations on it. • All Android devices ship with a recovery console that is basically a partition on the device’s internal memory and can be booted into. • The stock recovery of almost all Android devices provides a few basic yet handy options that allow you to factory reset your device, clear its cache partition, and recover its operating system using an official ROM in zip format, but that’s all you can do with it.
  • 34. /data • Also called userdata, the data partition contains the user’s data – this is where your contacts, messages, settings and apps that you have installed go. • Wiping this partition essentially performs a factory reset on your device, restoring it to the way it was when you first booted it, or the way it was after the last official or custom ROM installation. • When you perform a wipe data/factory reset from recovery, it is this partition that you are wiping.
  • 35. /cache • This is the partition where Android stores frequently accessed data and app components. • Wiping the cache doesn’t effect your personal data but simply gets rid of the existing data there, which gets automatically rebuilt as you continue using the device.
  • 36. /misc • This partition contains miscellaneous system settings in form of on/off switches. • These settings may include CID (Carrier or Region ID), USB configuration and certain hardware settings etc. • This is an important partition and if it is corrupt or missing, several of the device’s features will will not function normally.
  • 37. /sdcard • This is not a partition on the internal memory of the device but rather the SD card. In terms of usage, this is your storage space to use as you see fit, to store your media, documents, ROMs etc. on it. • Wiping it is perfectly safe as long as you backup all the data you require from it, to your computer first. • Though several user-installed apps save their data and settings on the SD card and wiping this partition will make you lose all that data. /sd-ext • This is not a standard Android partition, but has become popular in the custom ROM scene. • It is basically an additional partition on your SD card that acts as the /data partition when used with certain ROMs that have special features called APP2SD+ or data2ext enabled. • It is especially useful on devices with little internal memory allotted to the /data partition.
  • 38.
  • 40. Software stack • On top of the Linux kernel, there are the middleware, libraries and APIs written in C, and application software running on an application framework which includes Java-compatible libraries. Development of the Linux kernel continues independently of Android's other source code projects. • Android uses Android Runtime (ART) as its runtime environment (introduced in version 4.4), which uses ahead-of-time (AOT) compilation to entirely compile the application bytecode into machine code upon the installation of an application. • In Android 4.4, ART was an experimental feature and not enabled by default; it became the only runtime option in the next major version of Android, 5.0. • Until version 5.0 when ART took over, Android previously used Dalvik as a process virtual machine with trace-based just-in-time (JIT) compilation to run Dalvik "dex-code" (Dalvik Executable), which is usually translated from the Java bytecode.
  • 41. • For its Java library, the Android platform uses a subset of the now discontinued Apache Harmony project.[179] In December 2015, Google announced that the next version of Android would switch to a Java implementation based on the OpenJDK project. • Android's standard C library, Bionic, was developed by Google specifically for Android, as a derivation of the BSD's standard C library code. Bionic itself has been designed with several major features specific to the Linux kernel. The main benefits of using Bionic instead of the GNU C Library (glibc) or uClibc are its smaller runtime footprint, and optimization for low-frequency CPUs. Software stack
  • 42. Open-source community • Android's source code is released by Google under an open source license. • Its open nature has encouraged a large community of developers and enthusiasts to use the open-source code as a foundation for community- driven projects, which deliver updates to older devices, add new features for advanced users or bring Android to devices originally shipped with other operating systems. • These community-developed releases often bring new features and updates to devices faster than through the official manufacturer/carrier channels, with a comparable level of quality. • Community releases often come pre-rooted and contain modifications not provided by the original vendor, such as the ability to overclock or over/undervolt the device's processor. • Example for Community releases of Android are LineageOS, etc..
  • 43. Technical Security Features • Android applications run in a sandbox, an isolated area of the system that does not have access to the rest of the system's resources, unless access permissions are explicitly granted by the user when the application is installed, however this may not be possible for pre-installed apps. • Since February 2012, Google has used its Google Bouncer malware scanner to watch over and scan apps available in the Google Play store. A "Verify Apps" feature was introduced in November 2012, as part of the Android 4.2 "Jelly Bean" operating system version, to scan all apps, both from Google Play and from third-party sources, for malicious behavior. • Before installing an application, the Google Play store displays a list of the requirements an app needs to function. After reviewing these permissions, the user can choose to accept or refuse them, installing the application only if they accept. In Android 6.0 "Marshmallow", the permissions system was changed; apps are no longer automatically granted all of their specified permissions at installation time. • In August 2013, Google announced Android Device Manager (renamed Find My Device in May 2017), a service that allows users to remotely track, locate, and wipe their Android device, with an Android app for the service released in December.
  • 44.
  • 45. The "Sooner" prototype phone, running a pre-release version of Android HTC Dream or T-Mobile G1, the first commercially released device running Android (2008)
  • 46. Jowin John Chemban S6 CSE Holy Grace Academy of Engineering