SlideShare a Scribd company logo
1 of 25
Download to read offline
Introduction to android platform
Agenda
ī‚§ Android Stack
ī‚§ Software development
Android Software Stack
Android S/W Stack - Linux Kernel
īŦ Android Runs on Linux
â€ĸAndroid is based on the Linux kernel
â€ĸ Android is not Linux
â€ĸ No native windowing system
â€ĸ No glibc
â€ĸ Does not include full set of standard linux utilities
â€ĸ Kernel source at http://git.android.com
īŦ Providing an abstraction layer between the H/W and the rest of the S/W stack
īŦ Relying on Linux Kernel 2.6 for core system services and uses only "Kernel" portion in Linux
īƒŧ Memory and Process Management
īƒŧ Network Stack
īƒŧ Driver Model
īƒŧ Security
â€ĸ The supplied device drivers include Display, Camera, Keypad, WiFi, Flash Memory, Audio, and IPC
(inter-process communication).
â€ĸ Adb command opens linux shell
Why Linux kernel for Android ?
â€ĸGreat memory and process management
â€ĸGreat permissions based security model
â€ĸ Proven driver model
â€ĸSupport for shared libraries
â€ĸ It’s already open source
Android S/W Stack - Linux Kernel (Cont)
Typical Directory Tree of Android
Android S/W Stack - Linux Kernel (Cont)
Boot sequence
â€ĸ Alarm
â€ĸ Ashmem
â€ĸ Binder
â€ĸ Power Management
â€ĸ Low memory killer
â€ĸ Kernel debugger
â€ĸ Logger
Kernel Enhancements
Android S/W Stack - Runtime
ī‚§ Core Libraries
īƒŧ Providing most of the functionality available in the core libraries of the
Java language APIs -
īƒ˜Data Structures
īƒ˜Utilities
īƒ˜File Access
īƒ˜Network Access
īƒ˜Graphics
īƒ˜Etc
Android S/W Stack - Runtime
ī‚§ Dalvik Virtual Machine
īƒŧ Providing environment on which every Android application runs
īƒ˜ Each Android application runs in its own process, with its own instance of the Dalvik
VM.
īƒ˜ Dalvik has been written so that a device can run multiple VMs efficiently.
īƒŧ Register-based virtual machine
īƒŧ Executing the Dalvik Executable (.dex) format
īƒ˜ .dex format is optimized for minimal memory footprint.
īƒ˜ Compilation
īƒŧ Relying on the Linux Kernel for:
īƒ˜ Threading
īƒ˜ Low-level memory management
ī‚§ executes dex code, which is translated
ī‚§ from Java byte code
ī‚§ 16bit, register based
ī‚§ cf. Java bytecode is 8bit, stack based
Android S/W Stack - Libraries
ī‚§ Including a set of C/C++ libraries used by components of the Android system
ī‚§ Exposed to developers through the Android application framework
ī‚§ Libc: Stucture c standard lib.
ī‚§ SSL: Secure Socket Layer
ī‚§ SGL: Underling 2D grapics engine
ī‚§ OpenGL|ES: 3D image engine
ī‚§ Media Framework: Core part of
Android multi-media –
MPEG4,H.264,MP3,AAC,AMR,JPG,P
NG
ī‚§ SQLite: Light wait relational Embedded
database
ī‚§ WebKit: Kernel of web browser
ī‚§ FreeType: Bitmap and Vector font
renderer
ī‚§ SufraceManager: Manage difference
windows for different applications
Android S/W Stack - Libraries
â€ĸ The media libraries are based on PacketVideo’s
(http://www.packetvideo.com/) OpenCORE. These libraries are
responsible for recording and playback of audio and video
formats.
â€ĸ A library called Surface Manager controls access to the display
system and supports 2D and 3D.
â€ĸ The WebKit library is responsible for browser support; it is the
same library that supports Google Chrome and Apple Inc.’s
Safari.
â€ĸ The FreeType library is responsible for font support.
â€ĸ SQLite (http://www.sqlite.org/) is a relational database that is
available on the device itself. SQLite is also an independent open
source effort for relational databases and not directly tied to
Android. You can acquire and use tools meant for SQLite for
Android databases as well.
Android S/W Stack - App Framework
ī‚§ Most of the application framework accesses these core libraries through the Dalvik VM, the
gateway to the Android Platform
ī‚§ An application can broadcast its capabilities so that other applications can reuse these
functionalities
View System Used to build an application, including lists, grids, text boxes, buttons, and embedded
web browser
Content Provider Enabling applications to access data from other
applications or to share their own data
Resource Manager Providing access to non-code resources (localized string, graphics, and layout files)
Notification Manager Enabling all applications to display customer alerts in the status bar
Activity Manager Managing the lifecycle of applications and providing
a common navigation backstack
Android S/W Stack - App Framework (Cont)
Android S/W Stack - App Framework (Cont)
Android S/W Stack - App Framework (Cont)
Android S/W Stack - App Framework (Cont)
Android S/W Stack - App Framework (Cont)
Android S/W Stack - Application
ī‚§ Android provides a set of predefined core applications, which handles the phone basic features
ī‚§ These are replaceable applications
ī‚§ Examples :
īƒŧ Email Client
īƒŧ SMS Program
īƒŧ Calendar
īƒŧ Maps
īƒŧ Browser
īƒŧ Contacts
īƒŧ Etc
ī‚§ All applications are written using the Java language.
Android S/W Stack - language
Application Architecture
Software development
â€ĸDevelopment requirements
â€ĸ Java
â€ĸ Android SDK
â€ĸIDE and Tools
â€ĸAndroid SDK
īƒŧ Class Library
īƒŧ Developer Tools
īƒŧ Emulator and System Images
īƒŧ Documentation and Sample Code
â€ĸEclipse IDE + ADT (Android Development Tools)
īƒŧ Reduces Development and Testing Time
īƒŧ Makes User Interface-Creation easier
īƒŧ Makes Application Description Easier
Android SDK
īļandroid.jar Java archive file containing all of the Android SDK classes necessary to build
your application.
īļdocumention.html and docs directory The SDK documentation is provided locally and
on the Web. It's largely in the form of JavaDocs, making it easy to navigate the many
packages in the SDK. The documentation also includes a high-level Development Guide and
links to the broader Android community.
īļSamples directory The samples subdirectory contains full source code for a variety of
applications, including ApiDemo, which exercises many APIs. The sample application is a
great place to explore when starting Android application development.
īļTools directory Contains all of the command-line tools to build Android applications. The
most commonly employed and useful tool is the adbutility (Android Debug Bridge).
īļUsb_driverDirectory containing the necessary drivers to connect the development
environment to an Android-enabled device, such as the G1 or the Android Dev 1 unlocked
development phone. These files are only required for developers using the Windows
platform.
Android Tools
īļEmulator
īļAndroid applications may be run
on a real device or on the Android
Emulator, which ships with the
Android SDK.
īļâ€ĸADB (Android Debug Bridge)
īļThe ADB utility lets you connect
to the phone itself and issue
rudimentary shell commands,
such as copying files to and from
the device
Advantages
īļBenefits
īƒŧOpen Platform/License Free
īƒŧRobust OS Kernel, Innovative Library Packages
īƒŧEase App. Development
īƒŧRapid Improvement
īļChallenges
īƒŧPerformance Consideration
īƒŧHard to Integrate for Vendors
īƒŧToo Much Google Dependent
īļKey Factor: Market Response
Questions?

More Related Content

What's hot

Android the new Mobile Technoogy
Android the new Mobile TechnoogyAndroid the new Mobile Technoogy
Android the new Mobile Technoogypoojapainter
 
Android basic principles
Android basic principlesAndroid basic principles
Android basic principlesHenk Laracker
 
Basic of Android App Development
Basic of Android App DevelopmentBasic of Android App Development
Basic of Android App DevelopmentAbhijeet Gupta
 
Basic android-ppt
Basic android-pptBasic android-ppt
Basic android-pptSrijib Roy
 
android-tutorial-for-beginner
android-tutorial-for-beginnerandroid-tutorial-for-beginner
android-tutorial-for-beginnerAjailal Parackal
 
Android- Introduction for Beginners
Android- Introduction for BeginnersAndroid- Introduction for Beginners
Android- Introduction for BeginnersTripti Tiwari
 
Android Training (Media)
Android Training (Media)Android Training (Media)
Android Training (Media)Khaled Anaqwa
 
Android installation guide
Android installation guideAndroid installation guide
Android installation guideMohamed_Mubarak_Ali
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to androidJindal Gohil
 
Android Design Architecture
Android Design ArchitectureAndroid Design Architecture
Android Design ArchitectureRakesh Jha
 
Android installation guide
Android installation guideAndroid installation guide
Android installation guidemagicshui
 
Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App DevelopmentMike Kvintus
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorialmaster760
 
Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersBoom Shukla
 

What's hot (20)

Android the new Mobile Technoogy
Android the new Mobile TechnoogyAndroid the new Mobile Technoogy
Android the new Mobile Technoogy
 
Ci for Android
Ci for AndroidCi for Android
Ci for Android
 
Android basic principles
Android basic principlesAndroid basic principles
Android basic principles
 
Basic of Android App Development
Basic of Android App DevelopmentBasic of Android App Development
Basic of Android App Development
 
Android Basic Concept
Android Basic Concept Android Basic Concept
Android Basic Concept
 
Basic android-ppt
Basic android-pptBasic android-ppt
Basic android-ppt
 
Android
AndroidAndroid
Android
 
Android Seminar
Android SeminarAndroid Seminar
Android Seminar
 
Android Basic
Android BasicAndroid Basic
Android Basic
 
Android
Android Android
Android
 
android-tutorial-for-beginner
android-tutorial-for-beginnerandroid-tutorial-for-beginner
android-tutorial-for-beginner
 
Android- Introduction for Beginners
Android- Introduction for BeginnersAndroid- Introduction for Beginners
Android- Introduction for Beginners
 
Android Training (Media)
Android Training (Media)Android Training (Media)
Android Training (Media)
 
Android installation guide
Android installation guideAndroid installation guide
Android installation guide
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Android Design Architecture
Android Design ArchitectureAndroid Design Architecture
Android Design Architecture
 
Android installation guide
Android installation guideAndroid installation guide
Android installation guide
 
Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App Development
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginners
 

Viewers also liked

01 04 - android set up and creating an android project
01  04 - android set up and creating an android project01  04 - android set up and creating an android project
01 04 - android set up and creating an android projectSiva Kumar reddy Vasipally
 
01 07 -android programming basics (cont)
01  07 -android programming basics (cont)01  07 -android programming basics (cont)
01 07 -android programming basics (cont)Siva Kumar reddy Vasipally
 
01 08 - graphical user interface - layouts
01  08 - graphical user interface - layouts01  08 - graphical user interface - layouts
01 08 - graphical user interface - layoutsSiva Kumar reddy Vasipally
 
01 09 - graphical user interface - basic widgets
01  09 - graphical user interface - basic widgets01  09 - graphical user interface - basic widgets
01 09 - graphical user interface - basic widgetsSiva Kumar reddy Vasipally
 
Windows 8 introduction
Windows 8 introductionWindows 8 introduction
Windows 8 introductionVivian Alive
 
Head First XML Layout on Android
Head First XML Layout on AndroidHead First XML Layout on Android
Head First XML Layout on AndroidYuki Anzai
 
Toll app - Android project
Toll app - Android projectToll app - Android project
Toll app - Android projectArun prasath
 
Android Programming
Android ProgrammingAndroid Programming
Android ProgrammingPasi Manninen
 
Android Programming Basic
Android Programming BasicAndroid Programming Basic
Android Programming BasicDuy Do Phan
 
05. Power Supply Unit (PSU)
05. Power Supply Unit (PSU)05. Power Supply Unit (PSU)
05. Power Supply Unit (PSU)Akhila Dakshina
 
Windows 8.1 seminar presentation
Windows 8.1 seminar presentationWindows 8.1 seminar presentation
Windows 8.1 seminar presentationAnkitKumarBansal5
 
Comparison of Windows 7 & Windows 8
Comparison of Windows 7 & Windows 8Comparison of Windows 7 & Windows 8
Comparison of Windows 7 & Windows 8Vibhanshu Chaturvedi
 
Windows8 presentation
Windows8 presentationWindows8 presentation
Windows8 presentationChris Gormley
 
How to install windows 7
How to install windows 7How to install windows 7
How to install windows 7elboob2025
 
Windows 8 ppt
Windows 8 pptWindows 8 ppt
Windows 8 pptShan Singhai
 

Viewers also liked (20)

01 05 - introduction xml
01  05 - introduction xml01  05 - introduction xml
01 05 - introduction xml
 
01 04 - android set up and creating an android project
01  04 - android set up and creating an android project01  04 - android set up and creating an android project
01 04 - android set up and creating an android project
 
01 07 -android programming basics (cont)
01  07 -android programming basics (cont)01  07 -android programming basics (cont)
01 07 -android programming basics (cont)
 
01 08 - graphical user interface - layouts
01  08 - graphical user interface - layouts01  08 - graphical user interface - layouts
01 08 - graphical user interface - layouts
 
01 09 - graphical user interface - basic widgets
01  09 - graphical user interface - basic widgets01  09 - graphical user interface - basic widgets
01 09 - graphical user interface - basic widgets
 
01 06 - android programming basics
01  06 - android programming basics01  06 - android programming basics
01 06 - android programming basics
 
Servidores web
Servidores webServidores web
Servidores web
 
L14 hengr
L14 hengrL14 hengr
L14 hengr
 
Windows 8 introduction
Windows 8 introductionWindows 8 introduction
Windows 8 introduction
 
Basic Android Layout
Basic Android LayoutBasic Android Layout
Basic Android Layout
 
Head First XML Layout on Android
Head First XML Layout on AndroidHead First XML Layout on Android
Head First XML Layout on Android
 
Toll app - Android project
Toll app - Android projectToll app - Android project
Toll app - Android project
 
Android Programming
Android ProgrammingAndroid Programming
Android Programming
 
Android Programming Basic
Android Programming BasicAndroid Programming Basic
Android Programming Basic
 
05. Power Supply Unit (PSU)
05. Power Supply Unit (PSU)05. Power Supply Unit (PSU)
05. Power Supply Unit (PSU)
 
Windows 8.1 seminar presentation
Windows 8.1 seminar presentationWindows 8.1 seminar presentation
Windows 8.1 seminar presentation
 
Comparison of Windows 7 & Windows 8
Comparison of Windows 7 & Windows 8Comparison of Windows 7 & Windows 8
Comparison of Windows 7 & Windows 8
 
Windows8 presentation
Windows8 presentationWindows8 presentation
Windows8 presentation
 
How to install windows 7
How to install windows 7How to install windows 7
How to install windows 7
 
Windows 8 ppt
Windows 8 pptWindows 8 ppt
Windows 8 ppt
 

Similar to 01 02 - introduction - adroid stack

Getting started with android
Getting started with androidGetting started with android
Getting started with androidamitgb
 
Presentation for Android OS
Presentation for Android OSPresentation for Android OS
Presentation for Android OSMukul Cool
 
Android development tutorial
Android development tutorialAndroid development tutorial
Android development tutorialnazzf
 
Android development tutorial
Android development tutorialAndroid development tutorial
Android development tutorialMohammad Taj
 
Android platform overview
Android platform overviewAndroid platform overview
Android platform overviewtamilmani1020
 
Android platform overview
Android platform overviewAndroid platform overview
Android platform overviewmagicshui
 
Android My Seminar
Android My SeminarAndroid My Seminar
Android My SeminarGanesh Waghmare
 
Curso de Desenvolvimento Mobile - Android - Stack
Curso de Desenvolvimento Mobile - Android - StackCurso de Desenvolvimento Mobile - Android - Stack
Curso de Desenvolvimento Mobile - Android - StackJackson F. de A. Mafra
 
Android architecture
Android architectureAndroid architecture
Android architecturefahim shahzad
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to androidkrishnastudent88
 
Lecture slides introduction_introduction
Lecture slides introduction_introductionLecture slides introduction_introduction
Lecture slides introduction_introductionBadr Benali
 
Wifi Direct Based Chat And File Transfer Android Application
Wifi Direct Based Chat And File Transfer Android ApplicationWifi Direct Based Chat And File Transfer Android Application
Wifi Direct Based Chat And File Transfer Android ApplicationNitin Bhasin
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introductionmehfooz7007
 
Androidoverview 100405150711-phpapp01
Androidoverview 100405150711-phpapp01Androidoverview 100405150711-phpapp01
Androidoverview 100405150711-phpapp01Santosh Sh
 
Android Architecture design programming with java
Android Architecture design programming with javaAndroid Architecture design programming with java
Android Architecture design programming with javassuser471dfb
 
Android understanding
Android understandingAndroid understanding
Android understandingRamesh Rao
 
presentation on Android
presentation on Android presentation on Android
presentation on Android nipun pasnoori
 

Similar to 01 02 - introduction - adroid stack (20)

Getting started with android
Getting started with androidGetting started with android
Getting started with android
 
Presentation for Android OS
Presentation for Android OSPresentation for Android OS
Presentation for Android OS
 
Android development tutorial
Android development tutorialAndroid development tutorial
Android development tutorial
 
Android development tutorial
Android development tutorialAndroid development tutorial
Android development tutorial
 
Android platform overview
Android platform overviewAndroid platform overview
Android platform overview
 
Android platform overview
Android platform overviewAndroid platform overview
Android platform overview
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Android My Seminar
Android My SeminarAndroid My Seminar
Android My Seminar
 
Curso de Desenvolvimento Mobile - Android - Stack
Curso de Desenvolvimento Mobile - Android - StackCurso de Desenvolvimento Mobile - Android - Stack
Curso de Desenvolvimento Mobile - Android - Stack
 
Android architecture
Android architectureAndroid architecture
Android architecture
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Android Anatomy
Android  AnatomyAndroid  Anatomy
Android Anatomy
 
Lecture slides introduction_introduction
Lecture slides introduction_introductionLecture slides introduction_introduction
Lecture slides introduction_introduction
 
Android apps
Android appsAndroid apps
Android apps
 
Wifi Direct Based Chat And File Transfer Android Application
Wifi Direct Based Chat And File Transfer Android ApplicationWifi Direct Based Chat And File Transfer Android Application
Wifi Direct Based Chat And File Transfer Android Application
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introduction
 
Androidoverview 100405150711-phpapp01
Androidoverview 100405150711-phpapp01Androidoverview 100405150711-phpapp01
Androidoverview 100405150711-phpapp01
 
Android Architecture design programming with java
Android Architecture design programming with javaAndroid Architecture design programming with java
Android Architecture design programming with java
 
Android understanding
Android understandingAndroid understanding
Android understanding
 
presentation on Android
presentation on Android presentation on Android
presentation on Android
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
đŸŦ The future of MySQL is Postgres 🐘
đŸŦ  The future of MySQL is Postgres   🐘đŸŦ  The future of MySQL is Postgres   🐘
đŸŦ The future of MySQL is Postgres 🐘RTylerCroy
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Recently uploaded (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
đŸŦ The future of MySQL is Postgres 🐘
đŸŦ  The future of MySQL is Postgres   🐘đŸŦ  The future of MySQL is Postgres   🐘
đŸŦ The future of MySQL is Postgres 🐘
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

01 02 - introduction - adroid stack

  • 2. Agenda ī‚§ Android Stack ī‚§ Software development
  • 4. Android S/W Stack - Linux Kernel īŦ Android Runs on Linux â€ĸAndroid is based on the Linux kernel â€ĸ Android is not Linux â€ĸ No native windowing system â€ĸ No glibc â€ĸ Does not include full set of standard linux utilities â€ĸ Kernel source at http://git.android.com īŦ Providing an abstraction layer between the H/W and the rest of the S/W stack īŦ Relying on Linux Kernel 2.6 for core system services and uses only "Kernel" portion in Linux īƒŧ Memory and Process Management īƒŧ Network Stack īƒŧ Driver Model īƒŧ Security â€ĸ The supplied device drivers include Display, Camera, Keypad, WiFi, Flash Memory, Audio, and IPC (inter-process communication). â€ĸ Adb command opens linux shell
  • 5. Why Linux kernel for Android ? â€ĸGreat memory and process management â€ĸGreat permissions based security model â€ĸ Proven driver model â€ĸSupport for shared libraries â€ĸ It’s already open source
  • 6. Android S/W Stack - Linux Kernel (Cont) Typical Directory Tree of Android
  • 7. Android S/W Stack - Linux Kernel (Cont) Boot sequence â€ĸ Alarm â€ĸ Ashmem â€ĸ Binder â€ĸ Power Management â€ĸ Low memory killer â€ĸ Kernel debugger â€ĸ Logger Kernel Enhancements
  • 8. Android S/W Stack - Runtime ī‚§ Core Libraries īƒŧ Providing most of the functionality available in the core libraries of the Java language APIs - īƒ˜Data Structures īƒ˜Utilities īƒ˜File Access īƒ˜Network Access īƒ˜Graphics īƒ˜Etc
  • 9. Android S/W Stack - Runtime ī‚§ Dalvik Virtual Machine īƒŧ Providing environment on which every Android application runs īƒ˜ Each Android application runs in its own process, with its own instance of the Dalvik VM. īƒ˜ Dalvik has been written so that a device can run multiple VMs efficiently. īƒŧ Register-based virtual machine īƒŧ Executing the Dalvik Executable (.dex) format īƒ˜ .dex format is optimized for minimal memory footprint. īƒ˜ Compilation īƒŧ Relying on the Linux Kernel for: īƒ˜ Threading īƒ˜ Low-level memory management ī‚§ executes dex code, which is translated ī‚§ from Java byte code ī‚§ 16bit, register based ī‚§ cf. Java bytecode is 8bit, stack based
  • 10. Android S/W Stack - Libraries ī‚§ Including a set of C/C++ libraries used by components of the Android system ī‚§ Exposed to developers through the Android application framework ī‚§ Libc: Stucture c standard lib. ī‚§ SSL: Secure Socket Layer ī‚§ SGL: Underling 2D grapics engine ī‚§ OpenGL|ES: 3D image engine ī‚§ Media Framework: Core part of Android multi-media – MPEG4,H.264,MP3,AAC,AMR,JPG,P NG ī‚§ SQLite: Light wait relational Embedded database ī‚§ WebKit: Kernel of web browser ī‚§ FreeType: Bitmap and Vector font renderer ī‚§ SufraceManager: Manage difference windows for different applications
  • 11. Android S/W Stack - Libraries â€ĸ The media libraries are based on PacketVideo’s (http://www.packetvideo.com/) OpenCORE. These libraries are responsible for recording and playback of audio and video formats. â€ĸ A library called Surface Manager controls access to the display system and supports 2D and 3D. â€ĸ The WebKit library is responsible for browser support; it is the same library that supports Google Chrome and Apple Inc.’s Safari. â€ĸ The FreeType library is responsible for font support. â€ĸ SQLite (http://www.sqlite.org/) is a relational database that is available on the device itself. SQLite is also an independent open source effort for relational databases and not directly tied to Android. You can acquire and use tools meant for SQLite for Android databases as well.
  • 12. Android S/W Stack - App Framework ī‚§ Most of the application framework accesses these core libraries through the Dalvik VM, the gateway to the Android Platform ī‚§ An application can broadcast its capabilities so that other applications can reuse these functionalities View System Used to build an application, including lists, grids, text boxes, buttons, and embedded web browser Content Provider Enabling applications to access data from other applications or to share their own data Resource Manager Providing access to non-code resources (localized string, graphics, and layout files) Notification Manager Enabling all applications to display customer alerts in the status bar Activity Manager Managing the lifecycle of applications and providing a common navigation backstack
  • 13. Android S/W Stack - App Framework (Cont)
  • 14. Android S/W Stack - App Framework (Cont)
  • 15. Android S/W Stack - App Framework (Cont)
  • 16. Android S/W Stack - App Framework (Cont)
  • 17. Android S/W Stack - App Framework (Cont)
  • 18. Android S/W Stack - Application ī‚§ Android provides a set of predefined core applications, which handles the phone basic features ī‚§ These are replaceable applications ī‚§ Examples : īƒŧ Email Client īƒŧ SMS Program īƒŧ Calendar īƒŧ Maps īƒŧ Browser īƒŧ Contacts īƒŧ Etc ī‚§ All applications are written using the Java language.
  • 19. Android S/W Stack - language
  • 21. Software development â€ĸDevelopment requirements â€ĸ Java â€ĸ Android SDK â€ĸIDE and Tools â€ĸAndroid SDK īƒŧ Class Library īƒŧ Developer Tools īƒŧ Emulator and System Images īƒŧ Documentation and Sample Code â€ĸEclipse IDE + ADT (Android Development Tools) īƒŧ Reduces Development and Testing Time īƒŧ Makes User Interface-Creation easier īƒŧ Makes Application Description Easier
  • 22. Android SDK īļandroid.jar Java archive file containing all of the Android SDK classes necessary to build your application. īļdocumention.html and docs directory The SDK documentation is provided locally and on the Web. It's largely in the form of JavaDocs, making it easy to navigate the many packages in the SDK. The documentation also includes a high-level Development Guide and links to the broader Android community. īļSamples directory The samples subdirectory contains full source code for a variety of applications, including ApiDemo, which exercises many APIs. The sample application is a great place to explore when starting Android application development. īļTools directory Contains all of the command-line tools to build Android applications. The most commonly employed and useful tool is the adbutility (Android Debug Bridge). īļUsb_driverDirectory containing the necessary drivers to connect the development environment to an Android-enabled device, such as the G1 or the Android Dev 1 unlocked development phone. These files are only required for developers using the Windows platform.
  • 23. Android Tools īļEmulator īļAndroid applications may be run on a real device or on the Android Emulator, which ships with the Android SDK. īļâ€ĸADB (Android Debug Bridge) īļThe ADB utility lets you connect to the phone itself and issue rudimentary shell commands, such as copying files to and from the device
  • 24. Advantages īļBenefits īƒŧOpen Platform/License Free īƒŧRobust OS Kernel, Innovative Library Packages īƒŧEase App. Development īƒŧRapid Improvement īļChallenges īƒŧPerformance Consideration īƒŧHard to Integrate for Vendors īƒŧToo Much Google Dependent īļKey Factor: Market Response