SlideShare a Scribd company logo
1 of 21
Download to read offline
Android Architecture
by Lope Emano
The Android Stack
Overview
● Linux Kernel Layer
● Native Layer
● Application Framework Layer
● Applications Layer
Linux Kernel Layer
Linux Kernel Layer Overview
Never really interacts with developers but is the heart of
the whole system.
Android OS is a Linux Fork.
Acts as an interface between device’s hardware and the
upper layers.
Linux is a proven driver model
Linux Kernel Layer Overview
Provides following functions to the system:
● Hardware Abstraction
● Memory Management Programs
● Security Settings
● Power Management Software
● Other Hardware Drivers (Drivers are programs that
control hardware devices.)
● Support for Shared Libraries
● Network Stack
Android and the Linux Kernel
Native Libraries Layer
Native Libraries Layer Overview
Libraries carry a set of instructions to guide the device in
handling different types of data.
Libraries handle generating web pages, network security,
decoding music, video files, etc..
Open Source
Native Libraries Layer Overview
● Surface Manager: composing windows on the screen
● SGL: 2D Graphics
● Open GL|ES: 3D Graphics Library
● Media Framework: Supports playbacks and recording of
various audio, video and picture formats - codecs
● FreeType: Font Rendering
● WebKit: OpenSource Browser Engine
● libc: System C libraries
● SQLite: Database
● Open SSL: Secured Networking
Android Runtime
Dalvik Virtual Machine
Open-source software
Written by Dan Bornstein
Named after the fishing village of Dalvík in Eyjafjörður,
Iceland, where some of the author’s ancestors lived
It is the software responsible for running apps on
Android devices
To be replaced by ART which started in Android 4.4
KitKat
Dalvik Virtual Machine (more)
● It is a Register based Virtual Machine.
● It is optimized for low memory requirements.
● It has been designed to allow multiple VM instances to
run at once.
● Relies on the underlying OS for process isolation,
memory management and threading support.
● Operates on DEX files.
Application Framework Layer
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.
You will be talking to these guys a lot.
Important Blocks
● Activity Manager: Manages the activity life cycle of
applications.
● Content Providers: Manage the data sharing between
applications.
● Telephony Manager: Manages all voice calls. We use
telephony manager if we want to access voice calls in our
application.
● Location Manager: Location management, using GPS or
cell tower
● Resource Manager: Manage the various types of
resources we use in our Application
Applications Layer
Applications Layer
The applications are at the topmost layer of the Android
stack
An average user of the Android device would mostly
interact with this layer
This is you
Applications Layer
Sample applications on this layer:
● SMS client app
● Dialer
● Web browser
● Contact manager
What we’ve learned
● Linux serves as the foundation for the Android OS
● There are many layers that help our app run
● These layers abstract themselves as much as
possible s.t. we only need to talk to the Applications
Framework Layer.
References:
● http://www.edureka.co/blog/beginners-guide-android-
architecture/
● http://www.tutorialspoint.
com/android/android_architecture.htm
● http://en.wikipedia.org/wiki/Dalvik_%28software%29

More Related Content

What's hot

1319571 634635606205391250
1319571 6346356062053912501319571 634635606205391250
1319571 634635606205391250
MadNor Exe
 
Android introduction and rooting technology
Android introduction and rooting technologyAndroid introduction and rooting technology
Android introduction and rooting technology
Gagandeep Nanda
 

What's hot (20)

1319571 634635606205391250
1319571 6346356062053912501319571 634635606205391250
1319571 634635606205391250
 
Android Training
Android TrainingAndroid Training
Android Training
 
Android
AndroidAndroid
Android
 
CNIT 128 6. Analyzing Android Applications (Part 1)
CNIT 128 6. Analyzing Android Applications (Part 1)CNIT 128 6. Analyzing Android Applications (Part 1)
CNIT 128 6. Analyzing Android Applications (Part 1)
 
ICSEC2016-Policy management for docker ecosystem
ICSEC2016-Policy management for docker ecosystemICSEC2016-Policy management for docker ecosystem
ICSEC2016-Policy management for docker ecosystem
 
Secure Substrate: Least Privilege Container Deployment
Secure Substrate: Least Privilege Container Deployment Secure Substrate: Least Privilege Container Deployment
Secure Substrate: Least Privilege Container Deployment
 
Containers in depth – understanding how containers work to better work with c...
Containers in depth – understanding how containers work to better work with c...Containers in depth – understanding how containers work to better work with c...
Containers in depth – understanding how containers work to better work with c...
 
CNIT 128 8. Identifying and Exploiting Android Implementation Issues (Part 1)
CNIT 128 8. Identifying and Exploiting Android Implementation Issues (Part 1)CNIT 128 8. Identifying and Exploiting Android Implementation Issues (Part 1)
CNIT 128 8. Identifying and Exploiting Android Implementation Issues (Part 1)
 
LXC outline
LXC outlineLXC outline
LXC outline
 
CNIT 128 6. Analyzing Android Applications (Part 3 of 3)
CNIT 128 6. Analyzing Android Applications (Part 3 of 3)CNIT 128 6. Analyzing Android Applications (Part 3 of 3)
CNIT 128 6. Analyzing Android Applications (Part 3 of 3)
 
Android
AndroidAndroid
Android
 
Android presentation
Android presentationAndroid presentation
Android presentation
 
Advance ui development and design
Advance ui  development and design Advance ui  development and design
Advance ui development and design
 
Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.
 
Balena: a Moby-based container engine for IoT
Balena: a Moby-based container engine for IoT Balena: a Moby-based container engine for IoT
Balena: a Moby-based container engine for IoT
 
01 introduction & setup - Android
01   introduction & setup - Android01   introduction & setup - Android
01 introduction & setup - Android
 
Android Workshop_1
Android Workshop_1Android Workshop_1
Android Workshop_1
 
Ярослав Воронцов — Пара слов о mobile security.
Ярослав Воронцов — Пара слов о mobile security.Ярослав Воронцов — Пара слов о mobile security.
Ярослав Воронцов — Пара слов о mobile security.
 
CNIT 128 8. Android Implementation Issues (Part 2)
CNIT 128 8. Android Implementation Issues (Part 2)CNIT 128 8. Android Implementation Issues (Part 2)
CNIT 128 8. Android Implementation Issues (Part 2)
 
Android introduction and rooting technology
Android introduction and rooting technologyAndroid introduction and rooting technology
Android introduction and rooting technology
 

Viewers also liked

Android IPC Mechanism
Android IPC MechanismAndroid IPC Mechanism
Android IPC Mechanism
Lihan Chen
 
Play With Android
Play With AndroidPlay With Android
Play With Android
Champ Yen
 
Android Radio Layer Interface
Android Radio Layer InterfaceAndroid Radio Layer Interface
Android Radio Layer Interface
Chun-Yu Wang
 

Viewers also liked (20)

Udev
UdevUdev
Udev
 
Android IPC Mechanism
Android IPC MechanismAndroid IPC Mechanism
Android IPC Mechanism
 
An Introduction to Udev (OBSOLETE)
An Introduction to Udev (OBSOLETE)An Introduction to Udev (OBSOLETE)
An Introduction to Udev (OBSOLETE)
 
Desktop Virtualisation
Desktop VirtualisationDesktop Virtualisation
Desktop Virtualisation
 
High-Performance JDBC Voxxed Bucharest 2016
High-Performance JDBC Voxxed Bucharest 2016High-Performance JDBC Voxxed Bucharest 2016
High-Performance JDBC Voxxed Bucharest 2016
 
Play With Android
Play With AndroidPlay With Android
Play With Android
 
Android for Embedded Linux Developers
Android for Embedded Linux DevelopersAndroid for Embedded Linux Developers
Android for Embedded Linux Developers
 
Fuzzing the Media Framework in Android
Fuzzing the Media Framework in AndroidFuzzing the Media Framework in Android
Fuzzing the Media Framework in Android
 
How to reverse engineer Android applications—using a popular word game as an ...
How to reverse engineer Android applications—using a popular word game as an ...How to reverse engineer Android applications—using a popular word game as an ...
How to reverse engineer Android applications—using a popular word game as an ...
 
08 android multimedia_framework_overview
08 android multimedia_framework_overview08 android multimedia_framework_overview
08 android multimedia_framework_overview
 
OpenGL ES 2.x Programming Introduction
OpenGL ES 2.x Programming IntroductionOpenGL ES 2.x Programming Introduction
OpenGL ES 2.x Programming Introduction
 
RIL and Android Telephony
RIL and Android TelephonyRIL and Android Telephony
RIL and Android Telephony
 
Linux Kernel Tour
Linux Kernel TourLinux Kernel Tour
Linux Kernel Tour
 
Learning by hacking - android application hacking tutorial
Learning by hacking - android application hacking tutorialLearning by hacking - android application hacking tutorial
Learning by hacking - android application hacking tutorial
 
Android Radio Layer Interface
Android Radio Layer InterfaceAndroid Radio Layer Interface
Android Radio Layer Interface
 
Embedded Android : System Development - Part III
Embedded Android : System Development - Part IIIEmbedded Android : System Development - Part III
Embedded Android : System Development - Part III
 
System Booting Process overview
System Booting Process overviewSystem Booting Process overview
System Booting Process overview
 
Embedded Android : System Development - Part IV
Embedded Android : System Development - Part IVEmbedded Android : System Development - Part IV
Embedded Android : System Development - Part IV
 
Embedded Android : System Development - Part I
Embedded Android : System Development - Part IEmbedded Android : System Development - Part I
Embedded Android : System Development - Part I
 
Android media framework overview
Android media framework overviewAndroid media framework overview
Android media framework overview
 

Similar to Android Architecture

Android Architecture design programming with java
Android Architecture design programming with javaAndroid Architecture design programming with java
Android Architecture design programming with java
ssuser471dfb
 
Android General information
Android General informationAndroid General information
Android General information
Prashant Gosai
 
Android technology
Android technologyAndroid technology
Android technology
Dhruv Modh
 
Curso de Desenvolvimento Mobile - Android - Stack
Curso de Desenvolvimento Mobile - Android - StackCurso de Desenvolvimento Mobile - Android - Stack
Curso de Desenvolvimento Mobile - Android - Stack
Jackson F. de A. Mafra
 

Similar to Android Architecture (20)

Android and windows os
Android and windows osAndroid and windows os
Android and windows os
 
Introduction to Mobile Operating System.pptx
Introduction to Mobile Operating System.pptxIntroduction to Mobile Operating System.pptx
Introduction to Mobile Operating System.pptx
 
Android Architecture design programming with java
Android Architecture design programming with javaAndroid Architecture design programming with java
Android Architecture design programming with java
 
Android Architecture.pptx
Android Architecture.pptxAndroid Architecture.pptx
Android Architecture.pptx
 
Android Technology
Android TechnologyAndroid Technology
Android Technology
 
Android- Introduction for Beginners
Android- Introduction for BeginnersAndroid- Introduction for Beginners
Android- Introduction for Beginners
 
Android Operating System Architecture
Android Operating System ArchitectureAndroid Operating System Architecture
Android Operating System Architecture
 
Android software stack
Android software stackAndroid software stack
Android software stack
 
Android architecture
Android architectureAndroid architecture
Android architecture
 
Android Technology
Android TechnologyAndroid Technology
Android Technology
 
Android General information
Android General informationAndroid General information
Android General information
 
Android Development - Session 2
Android Development - Session 2Android Development - Session 2
Android Development - Session 2
 
Android Development - Session 1
Android Development - Session 1Android Development - Session 1
Android Development - Session 1
 
Android technology
Android technologyAndroid technology
Android technology
 
Cc4201519521
Cc4201519521Cc4201519521
Cc4201519521
 
My androidpresentation
My androidpresentationMy androidpresentation
My androidpresentation
 
Android
AndroidAndroid
Android
 
Android - Application Framework
Android - Application FrameworkAndroid - Application Framework
Android - Application Framework
 
Android architecture
Android architectureAndroid architecture
Android architecture
 
Curso de Desenvolvimento Mobile - Android - Stack
Curso de Desenvolvimento Mobile - Android - StackCurso de Desenvolvimento Mobile - Android - Stack
Curso de Desenvolvimento Mobile - Android - Stack
 

More from Lope Emano (9)

Android development - ListView & Adapter
Android development - ListView & AdapterAndroid development - ListView & Adapter
Android development - ListView & Adapter
 
Android development war stories
Android development war storiesAndroid development war stories
Android development war stories
 
Android Development - Process & Tools
Android Development - Process & ToolsAndroid Development - Process & Tools
Android Development - Process & Tools
 
Android development - Activities, Views & Intents
Android development - Activities, Views & IntentsAndroid development - Activities, Views & Intents
Android development - Activities, Views & Intents
 
Android development - Network Requests
Android development - Network RequestsAndroid development - Network Requests
Android development - Network Requests
 
Android History & Importance
Android History & ImportanceAndroid History & Importance
Android History & Importance
 
Android development War Stories
Android development War StoriesAndroid development War Stories
Android development War Stories
 
Dependency Injection in Android with Dagger
Dependency Injection in Android with DaggerDependency Injection in Android with Dagger
Dependency Injection in Android with Dagger
 
Android development
Android developmentAndroid development
Android development
 

Recently uploaded

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Recently uploaded (20)

%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 

Android Architecture

  • 3. Overview ● Linux Kernel Layer ● Native Layer ● Application Framework Layer ● Applications Layer
  • 5. Linux Kernel Layer Overview Never really interacts with developers but is the heart of the whole system. Android OS is a Linux Fork. Acts as an interface between device’s hardware and the upper layers. Linux is a proven driver model
  • 6. Linux Kernel Layer Overview Provides following functions to the system: ● Hardware Abstraction ● Memory Management Programs ● Security Settings ● Power Management Software ● Other Hardware Drivers (Drivers are programs that control hardware devices.) ● Support for Shared Libraries ● Network Stack
  • 7. Android and the Linux Kernel
  • 9. Native Libraries Layer Overview Libraries carry a set of instructions to guide the device in handling different types of data. Libraries handle generating web pages, network security, decoding music, video files, etc.. Open Source
  • 10. Native Libraries Layer Overview ● Surface Manager: composing windows on the screen ● SGL: 2D Graphics ● Open GL|ES: 3D Graphics Library ● Media Framework: Supports playbacks and recording of various audio, video and picture formats - codecs ● FreeType: Font Rendering ● WebKit: OpenSource Browser Engine ● libc: System C libraries ● SQLite: Database ● Open SSL: Secured Networking
  • 12. Dalvik Virtual Machine Open-source software Written by Dan Bornstein Named after the fishing village of Dalvík in Eyjafjörður, Iceland, where some of the author’s ancestors lived It is the software responsible for running apps on Android devices To be replaced by ART which started in Android 4.4 KitKat
  • 13. Dalvik Virtual Machine (more) ● It is a Register based Virtual Machine. ● It is optimized for low memory requirements. ● It has been designed to allow multiple VM instances to run at once. ● Relies on the underlying OS for process isolation, memory management and threading support. ● Operates on DEX files.
  • 15. 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. You will be talking to these guys a lot.
  • 16. Important Blocks ● Activity Manager: Manages the activity life cycle of applications. ● Content Providers: Manage the data sharing between applications. ● Telephony Manager: Manages all voice calls. We use telephony manager if we want to access voice calls in our application. ● Location Manager: Location management, using GPS or cell tower ● Resource Manager: Manage the various types of resources we use in our Application
  • 18. Applications Layer The applications are at the topmost layer of the Android stack An average user of the Android device would mostly interact with this layer This is you
  • 19. Applications Layer Sample applications on this layer: ● SMS client app ● Dialer ● Web browser ● Contact manager
  • 20. What we’ve learned ● Linux serves as the foundation for the Android OS ● There are many layers that help our app run ● These layers abstract themselves as much as possible s.t. we only need to talk to the Applications Framework Layer.