SlideShare a Scribd company logo
1 of 22
ANDROID ARCHITECHTURE
Seminar by:
Yojana Nanaware
M.E.(CSE)
• Android : Concept
• Android Architecture : An Overview
• Platform Initialization & Explanation
• Android GUI Architecture
OUTLINE
"Android is a software stack
for mobile devices that
includes an operating
system, middleware and
key applications."
OR
"Android is software
platform for mobile devices
based on the Linux
Operating System and
developed by Google and
the open Handset Alliance."
ANDROID……….What?
•Operating System :Operating System :
Linux Kernel 2.6Linux Kernel 2.6
•Emulator :Emulator :
On Mac, Windows, LinuxOn Mac, Windows, Linux
•Hardware Support :Hardware Support :
–GSM TelephonyGSM Telephony
–Bluetooth, Wi-Fi, 3GBluetooth, Wi-Fi, 3G
–Camera, GPS, CompassCamera, GPS, Compass
& Accelerometer& Accelerometer
Architecture of Android
Applications……
• Written in java programming.
• Run in VM called Dalvik VM.
• Used for basic Applications.
Application Framework……
• All android have to follow this skeleton.
• Manage phone`s basic functions with set of services
& systems.
• Simplify the reuse of the components.
Libraries……
• Written in c, cpp & used by various system.
• Tell the device to handle the all kind of data &
exposed to Android Developer.
Libraries………
• Android Libc implementation :
Custom implementation, optimized for embedded
use
– BSD license
– Small size and fast code paths
– Very fast custom pthread implementation
– Built-in support for android-specific services
(system properties, log capabilities)
– Doesn't support some POSIIX features
Libraries…..
• Storage, Rendering, Multimedia :
– SQLite, a simple relational database management
system (No IIPC, single file)
– WebKit, an application framework that provides
foundation for building a web browser
– Media Framework, based on PacketVideo
openCORE platform (codec)
– Optimized 2D//3D graphic library based on
OpenGL ES
Libraries……..
• Surface Manager
Provides a system-wide surface "composer" to render all the
surfaces in a frame buffer.
– Can combined 2D and 3D surfaces
– Can use OpenGL ES and 2D hardware accelerator
for its compositions
Libraries……
• Audio Manager
Processes multiple audio streams into PCM audio out paths.
– Handle several types of devices (headphone, ear
piece, etc.)
– Redirects audio stream to the specified output
Libraries………
• Hardware abstraction library
Defines the interface that Android requires hardware
"drivers" to implement.
– Set of standardized APIIs the developer will have
to implement
– Available for all the components a manufacturer
can integrate on its Android platform
Android Runtime…….
• Set of core java libraries.
• Own instance of DVM for every Android application.
• .Dex executable file for optimized minimum memory.
Android Runtime……
• DVM
An interpreter-only virtual
machine (no JIT), register
based.
– Optimized for low memory
requirements
– Designed to allow multiple VM
instances to run at one
– Relying on underlying OS for
process isolation, memory
management and threading
support
– Executes Dalvik Executables (DEX)
files which are zipped into an
Android Package (APK)
Linux Kernel……
• Includes memory management programs, security
settings, power management software & several
drivers for hardware, file system access, networking
& inter-process-communication.
• Abstraction layer between hardware & rest of
software stack.
Linux Kernel……
• Power Management
– Application uses user space library to inform the
framework about its constraints.
– Constraints are implemented using lock
mechanism.
Linux Kernel……
• Blinder
Driver to facilitate inter-process communication between
applications and services.
– A pool of threads is associated to each application
to process incoming IIPC
– The driver performs mapping of object between
two processes
– Binder uses an object reference as an address in a
process's memory space
Linux Kernel…….
• Blinder
What can I do with Kernel…..?
• Apart from changing it whenever you want, you can overclock
or undervolt your kernel. Not all kernels will allow you to do
this. So be sure to check if it has OC/UV option.
Undervolting is when you tell the kernel to only
provide a tiny amount of power for the phone to
run. It does make your phone lag quite a lot, but
its ability to save battery is incredible. A phone
modified in this way with a custom kernel can
seriously go days without charging.
Alternatively, you can overclock a phone. This is
when the kernel outputs large amounts of power,
amounts higher than the phone usually uses. This
will eat through a battery extremely quickly,
overheating can cause you serious trouble.
Platform Initialization & Explanation
The bootloader loads the "kernel" and starts the
"Init" process. Then,
"Daemons" for handling low level hardware
interfaces are started up (USB, ADB,
debugger, radio). After that,
"Zygote", the initial Dalvik VM process is created, and
"Runtime" process initiates the "Service Manager", a
key element for "Binders"
and IPC communication.
"Runtime" process requests "Zygote" to start a new
instance of Dalvik for running the
"System Server"
The two first processes are able to handle graphic
and audio outputs
All the others android components are then started.
Android GUI Architecture
Android GUI is single-threaded, event-driven
and built on a library of nestable
components. The Android UI framework is
organized around the common Model-View-
Controller pattern.
The Model: The model represents data or
data container.
The View: The View is the portion of the
application responsible for rendering the
display, sending audio to speakers,
generating tactile feedback, and so on.
The Controller: The Controller is the portion
of an application that responds to external
actions: a keystroke, a screen tap, an
incoming call, etc. It is implemented as an
event queue.
Android architechture

More Related Content

What's hot

Basic android-ppt
Basic android-pptBasic android-ppt
Basic android-pptSrijib Roy
 
Leveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the EnterpriseLeveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the EnterpriseAndrew Kelleher
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Javaamaankhan
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD OverviewAn Nguyen
 
What is a computer virus
What is a computer virusWhat is a computer virus
What is a computer virusKriti kohli
 
Knowledge about android operating system
Knowledge about android operating systemKnowledge about android operating system
Knowledge about android operating systemRachna Beegun
 
Getting Started with Infrastructure as Code
Getting Started with Infrastructure as CodeGetting Started with Infrastructure as Code
Getting Started with Infrastructure as CodeWinWire Technologies Inc
 
EKS security best practices
EKS security best practicesEKS security best practices
EKS security best practicesJohn Varghese
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Amazon Web Services
 
Basic Android College Seminar Presentation
Basic Android College Seminar Presentation Basic Android College Seminar Presentation
Basic Android College Seminar Presentation Jimmin Kurichiyil
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...Edureka!
 
Seminar Report on Android OS
Seminar Report on Android OSSeminar Report on Android OS
Seminar Report on Android OSBilal Mirza
 
Présentation du DevOps
Présentation du DevOpsPrésentation du DevOps
Présentation du DevOpsCyrielle Orban
 
Android PPT Presentation 2018
Android PPT Presentation 2018Android PPT Presentation 2018
Android PPT Presentation 2018Rao Purna
 
Docker introduction & benefits
Docker introduction & benefitsDocker introduction & benefits
Docker introduction & benefitsAmit Manwade
 

What's hot (20)

Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Basic android-ppt
Basic android-pptBasic android-ppt
Basic android-ppt
 
Leveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the EnterpriseLeveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the Enterprise
 
An introduction to DevOps
An introduction to DevOpsAn introduction to DevOps
An introduction to DevOps
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Java
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD Overview
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Azure dev ops
Azure dev opsAzure dev ops
Azure dev ops
 
What is a computer virus
What is a computer virusWhat is a computer virus
What is a computer virus
 
Knowledge about android operating system
Knowledge about android operating systemKnowledge about android operating system
Knowledge about android operating system
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Getting Started with Infrastructure as Code
Getting Started with Infrastructure as CodeGetting Started with Infrastructure as Code
Getting Started with Infrastructure as Code
 
EKS security best practices
EKS security best practicesEKS security best practices
EKS security best practices
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration
 
Basic Android College Seminar Presentation
Basic Android College Seminar Presentation Basic Android College Seminar Presentation
Basic Android College Seminar Presentation
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
 
Seminar Report on Android OS
Seminar Report on Android OSSeminar Report on Android OS
Seminar Report on Android OS
 
Présentation du DevOps
Présentation du DevOpsPrésentation du DevOps
Présentation du DevOps
 
Android PPT Presentation 2018
Android PPT Presentation 2018Android PPT Presentation 2018
Android PPT Presentation 2018
 
Docker introduction & benefits
Docker introduction & benefitsDocker introduction & benefits
Docker introduction & benefits
 

Similar to Android architechture

Overview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptxOverview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptxdebasish duarah
 
Robot controlled car using Wireless Module
 Robot controlled car using Wireless Module Robot controlled car using Wireless Module
Robot controlled car using Wireless Moduleshreyaseksambe
 
Android Architecture design programming with java
Android Architecture design programming with javaAndroid Architecture design programming with java
Android Architecture design programming with javassuser471dfb
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions newJoe Jacob
 
Droidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyDroidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyBenjamin Zores
 
Android understanding
Android understandingAndroid understanding
Android understandingRamesh Rao
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osArnav Gupta
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osArnav Gupta
 
Android introduction and rooting technology
Android introduction and rooting technologyAndroid introduction and rooting technology
Android introduction and rooting technologyGagandeep Nanda
 
Android and windows os
Android and windows osAndroid and windows os
Android and windows osMehakVithal
 
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsQ4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsLinaro
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android Ranjith Kumar
 
Eric Theis resume61.1
Eric Theis resume61.1Eric Theis resume61.1
Eric Theis resume61.1Eric Theis
 
0xdroid -- community-developed Android distribution by 0xlab
0xdroid -- community-developed Android distribution by 0xlab0xdroid -- community-developed Android distribution by 0xlab
0xdroid -- community-developed Android distribution by 0xlabNational Cheng Kung University
 

Similar to Android architechture (20)

Android OS
Android OSAndroid OS
Android OS
 
Overview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptxOverview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptx
 
Robot controlled car using Wireless Module
 Robot controlled car using Wireless Module Robot controlled car using Wireless Module
Robot controlled car using Wireless Module
 
Android Architecture design programming with java
Android Architecture design programming with javaAndroid Architecture design programming with java
Android Architecture design programming with java
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions new
 
Droidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyDroidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform Anatomy
 
Android understanding
Android understandingAndroid understanding
Android understanding
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 
My androidpresentation
My androidpresentationMy androidpresentation
My androidpresentation
 
Android introduction and rooting technology
Android introduction and rooting technologyAndroid introduction and rooting technology
Android introduction and rooting technology
 
Android and windows os
Android and windows osAndroid and windows os
Android and windows os
 
Lick my Lollipop
Lick my LollipopLick my Lollipop
Lick my Lollipop
 
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsQ4.11: Porting Android to new Platforms
Q4.11: Porting Android to new Platforms
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android
 
Android
AndroidAndroid
Android
 
Eric Theis resume61.1
Eric Theis resume61.1Eric Theis resume61.1
Eric Theis resume61.1
 
Android
AndroidAndroid
Android
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
0xdroid -- community-developed Android distribution by 0xlab
0xdroid -- community-developed Android distribution by 0xlab0xdroid -- community-developed Android distribution by 0xlab
0xdroid -- community-developed Android distribution by 0xlab
 

More from Yojana Nanaware

More from Yojana Nanaware (7)

Structure of processes ppt
Structure of processes pptStructure of processes ppt
Structure of processes ppt
 
Process scheduling & time
Process scheduling & timeProcess scheduling & time
Process scheduling & time
 
Quantum router
Quantum routerQuantum router
Quantum router
 
sAudio & video db
sAudio & video dbsAudio & video db
sAudio & video db
 
Multimedia db system
Multimedia db systemMultimedia db system
Multimedia db system
 
Nanonetworks
NanonetworksNanonetworks
Nanonetworks
 
Hadoop
HadoopHadoop
Hadoop
 

Recently uploaded

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Recently uploaded (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

Android architechture

  • 2. • Android : Concept • Android Architecture : An Overview • Platform Initialization & Explanation • Android GUI Architecture OUTLINE
  • 3. "Android is a software stack for mobile devices that includes an operating system, middleware and key applications." OR "Android is software platform for mobile devices based on the Linux Operating System and developed by Google and the open Handset Alliance." ANDROID……….What? •Operating System :Operating System : Linux Kernel 2.6Linux Kernel 2.6 •Emulator :Emulator : On Mac, Windows, LinuxOn Mac, Windows, Linux •Hardware Support :Hardware Support : –GSM TelephonyGSM Telephony –Bluetooth, Wi-Fi, 3GBluetooth, Wi-Fi, 3G –Camera, GPS, CompassCamera, GPS, Compass & Accelerometer& Accelerometer
  • 5. Applications…… • Written in java programming. • Run in VM called Dalvik VM. • Used for basic Applications.
  • 6. Application Framework…… • All android have to follow this skeleton. • Manage phone`s basic functions with set of services & systems. • Simplify the reuse of the components.
  • 7. Libraries…… • Written in c, cpp & used by various system. • Tell the device to handle the all kind of data & exposed to Android Developer.
  • 8. Libraries……… • Android Libc implementation : Custom implementation, optimized for embedded use – BSD license – Small size and fast code paths – Very fast custom pthread implementation – Built-in support for android-specific services (system properties, log capabilities) – Doesn't support some POSIIX features
  • 9. Libraries….. • Storage, Rendering, Multimedia : – SQLite, a simple relational database management system (No IIPC, single file) – WebKit, an application framework that provides foundation for building a web browser – Media Framework, based on PacketVideo openCORE platform (codec) – Optimized 2D//3D graphic library based on OpenGL ES
  • 10. Libraries…….. • Surface Manager Provides a system-wide surface "composer" to render all the surfaces in a frame buffer. – Can combined 2D and 3D surfaces – Can use OpenGL ES and 2D hardware accelerator for its compositions
  • 11. Libraries…… • Audio Manager Processes multiple audio streams into PCM audio out paths. – Handle several types of devices (headphone, ear piece, etc.) – Redirects audio stream to the specified output
  • 12. Libraries……… • Hardware abstraction library Defines the interface that Android requires hardware "drivers" to implement. – Set of standardized APIIs the developer will have to implement – Available for all the components a manufacturer can integrate on its Android platform
  • 13. Android Runtime……. • Set of core java libraries. • Own instance of DVM for every Android application. • .Dex executable file for optimized minimum memory.
  • 14. Android Runtime…… • DVM An interpreter-only virtual machine (no JIT), register based. – Optimized for low memory requirements – Designed to allow multiple VM instances to run at one – Relying on underlying OS for process isolation, memory management and threading support – Executes Dalvik Executables (DEX) files which are zipped into an Android Package (APK)
  • 15. Linux Kernel…… • Includes memory management programs, security settings, power management software & several drivers for hardware, file system access, networking & inter-process-communication. • Abstraction layer between hardware & rest of software stack.
  • 16. Linux Kernel…… • Power Management – Application uses user space library to inform the framework about its constraints. – Constraints are implemented using lock mechanism.
  • 17. Linux Kernel…… • Blinder Driver to facilitate inter-process communication between applications and services. – A pool of threads is associated to each application to process incoming IIPC – The driver performs mapping of object between two processes – Binder uses an object reference as an address in a process's memory space
  • 19. What can I do with Kernel…..? • Apart from changing it whenever you want, you can overclock or undervolt your kernel. Not all kernels will allow you to do this. So be sure to check if it has OC/UV option. Undervolting is when you tell the kernel to only provide a tiny amount of power for the phone to run. It does make your phone lag quite a lot, but its ability to save battery is incredible. A phone modified in this way with a custom kernel can seriously go days without charging. Alternatively, you can overclock a phone. This is when the kernel outputs large amounts of power, amounts higher than the phone usually uses. This will eat through a battery extremely quickly, overheating can cause you serious trouble.
  • 20. Platform Initialization & Explanation The bootloader loads the "kernel" and starts the "Init" process. Then, "Daemons" for handling low level hardware interfaces are started up (USB, ADB, debugger, radio). After that, "Zygote", the initial Dalvik VM process is created, and "Runtime" process initiates the "Service Manager", a key element for "Binders" and IPC communication. "Runtime" process requests "Zygote" to start a new instance of Dalvik for running the "System Server" The two first processes are able to handle graphic and audio outputs All the others android components are then started.
  • 21. Android GUI Architecture Android GUI is single-threaded, event-driven and built on a library of nestable components. The Android UI framework is organized around the common Model-View- Controller pattern. The Model: The model represents data or data container. The View: The View is the portion of the application responsible for rendering the display, sending audio to speakers, generating tactile feedback, and so on. The Controller: The Controller is the portion of an application that responds to external actions: a keystroke, a screen tap, an incoming call, etc. It is implemented as an event queue.