SlideShare a Scribd company logo
1 of 128
Download to read offline
Android Architecture
Agenda
●   Linux Kernel
●   Native Libraries
●   Android Runtime
●   Application Framework
●   Inside The System
    Connectivity(Bluetooth,WiFi...)
    Power Management
    Display & Multimedia (Surfaceflinger, Audioflinger,Camera/Video)
    Telephony (Radio Interface Layer)
● Android Boot sequence
● Layer Interaction
Android System Architecture
Agenda
●   Linux Kernel
●   Native Libraries
●   Android Runtime
●   Application Framework
●   Inside The System
    Connectivity(Bluetooth,WiFi...)
    Power Management
    Display & Multimedia (Surfaceflinger, Audioflinger,Camera/Video)
    Telephony (Radio Interface Layer)
● Android Boot sequence
● Layer Interaction
Linux Kernel
● Android is built on the Linux kernel, but
  Android is not Linux
● No native windowing system
● Does not include the full set of standard
  Linux utilities
● Patch of “kernel enhancements” to support
  Android
Why Linux Kernel?
●   Great memory and process management
●   Permissions-based security model
●   Proven driver model
●   Support for shared libraries
●   It's already open source!
Kernel Enhancements
• Binder
• Power Management
Binder: Problem
● Applications and Services may run in separate
  processes but must communicate and share
  data
● IPC can introduce significant processing
  overhead and security holes
Binder: Solution
● Driver to facilitate inter-process communication
  (IPC)
● High performance through shared memory
● Per-process thread pool for processing
  requests
● Reference counting, and mapping of object
  references across processes
● Synchronous calls between processes
Binder in Action
Binder in Action
Binder in Action
Binder in Action
Binder in Action
Binder in Action
Binder in Action
Binder



Android Interface Definition Language (AIDL)

http://developer.android.com/guide/components/aidl.html
PM Problem
● Mobile devices run on battery power
● Batteries have limited capacity
PM Solution
● Built on top of standard Linux Power
  Management (PM)
● More aggressive power management policy
● Components make requests to keep the
  power on through “wake locks”
● Supports different types of wake locks
Android PM in Action
Android PM in Action
Android PM in Action
Android PM in Action
Android PM in Action
Android PM in Action
Android PM
● Use wake locks carefully!
● sysfs entries for wakelocks in android
  "/sys/power/wake_lock",
  "/sys/power/wake_unlock",
  "/sys/power/state"
Kernel
Download and Build android kernel from:

http://source.android.com/source/building-
kernels.html
Agenda
●   Linux Kernel
●   Native Libraries
●   Android Runtime
●   Application Framework
●   Inside The System
    Connectivity(Bluetooth,WiFi...)
    Power Management
    Display & Multimedia (Surfaceflinger, Audioflinger,Camera/Video)
    Telephony (Radio Interface Layer)
● Android Boot sequence
● Layer Interaction
Native Libraries
Native Libraries
●   Bionic Libc
●   Function Libraries
●   Native Servers
●   Hardware Abstraction Libraries
Native Libraries
●   Bionic Libc
●   Function Libraries
●   Native Servers
●   Hardware Abstraction Libraries
What is Bionic?
● What is bionic?
  Custom libc implementation, optimized for
  embedded use.
What is Bionic?
Why build a custom libc library?
● License: we want to keep GPL out of user-
  space
● Size: will load in each process, so it needs to
  be small
● Fast: limited CPU power means we need to
  be fast
Bionic libc
● BSD License
● Small size and fast code paths
● Very fast and small custom pthread
  implementation
Bionic libc
● Built-in support for important Android-
  specific services
  a. system properties
     getprop(“my.system.property”, buff, default);
  b. log capabilities
     LOGI(“Logging a message with priority ‘Info’”);
Native Libraries
●   Bionic Libc
●   Function Libraries
●   Native Servers
●   Hardware Abstraction Libraries
WebKit
● Based on open source WebKit browser: http:
  //webkit.org
● Renders pages in full (desktop) view
● Full CSS, Javascript, DOM, AJAX support
● Support for single-column and adaptive view
  rendering
Media Framework
● Based on PacketVideo OpenCORE platform
● Supports standard video, audio, still-frame
  formats
● Support for hardware / software codec plug-
  ins
SQLite
● Light-weight transactional data store
● Back end for most platform data storage
Native Libraries
●   Bionic Libc
●   Function Libraries
●   Native Servers
●   Hardware Abstraction Libraries
Surface Flinger




● Provides system-wide surface “composer”, handling all
    surface rendering to frame buffer device
●   Can combine 2D and 3D surfaces and surfaces from
    multiple applications
Surface Manager
● Surfaces passed as buffers via Binder IPC
  calls
● Can use OpenGL ES and 2D hardware
  accelerator for its compositions
● Double-buffering using page-flip
Audio Flinger




● Manages all audio output devices
● Processes multiple audio streams into PCM audio out
    paths
●   Handles audio routing to various outputs
Native Libraries
●   Bionic Libc
●   Function Libraries
●   Native Servers
●   Hardware Abstraction Libraries
Hardware Abstraction Layer
Hardware Abstraction Libraries
● Why do we need a user-space HAL?
  ○ Not all components have standardized kernel driver
    interfaces
  ○ Kernel drivers are GPL which exposes any
    proprietary IP
  ○ Android has specific requirements for hardware
    drivers
Hardware Abstraction Libraries
● Libraries are loaded dynamically at runtime
  as needed
  QualcommCameraHardware.cpp
  ...
  libqcamera = dlopen(“/system/lib/liboemcamera.so”, TLD_NOW);
  ...
  *(void **)&LINK_camera_init = ::dlsym(libqcamera, "camera_init");
  ...
  LINK_camera_init();
Agenda
●   Linux Kernel
●   Native Libraries
●   Android Runtime
●   Application Framework
●   Inside The System
    Connectivity(Bluetooth,WiFi...)
    Power Management
    Display & Multimedia (Surfaceflinger, Audioflinger,Camera/Video)
    Telephony (Radio Interface Layer)
● Android Boot sequence
● Layer Interaction
Android Runtime
What is the Dalvik VM?
● Android's custom clean-room
  implementation virtual machine
● run on a slow CPU
● with relatively little RAM
● on an OS without swap space
● while powered by a battery
Dalvik Virtual Machine
● Provides application portability and runtime
  consistency
● Runs optimized file format (.dex) and Dalvik
  bytecode
● Java .class / .jar files converted to .dex at
  build time
Core Libraries
● Core APIs for Java language provide a
  powerful, yet simple and familiar development
  platform
  ○   Data structures
  ○   Utilities
  ○   File access
  ○   Network Access
  ○   Graphics
  ○   …
.dex file
.jar Vs .dex
.class files
.dex file
Agenda
●   Linux Kernel
●   Native Libraries
●   Android Runtime
●   Application Framework
●   Inside The System
    Connectivity(Bluetooth,WiFi...)
    Power Management
    Display & Multimedia (Surfaceflinger, Audioflinger,Camera/Video)
    Telephony (Radio Interface Layer)
● Android Boot sequence
● Layer Interaction
Application Framework
Core Platform Services
● Services that are essential to the Android
  platform
● Behind the scenes - applications typically
  don't access them directly
Core Platform Services
● Activity Manager
Core Platform Services
● Activity Manager
● Package Manager
Core Platform Services
● Activity Manager
● Package Manager
● Window Manager
Core Platform Services
●   Activity Manager
●   Package Manager
●   Window Manager
●   Resource Manager
Core Platform Services
●   Activity Manager
●   Package Manager
●   Window Manager
●   Resource Manager
●   Content Providers
Core Platform Services
●   Activity Manager
●   Package Manager
●   Window Manager
●   Resource Manager
●   Content Providers
●   View System
Hardware Services
● Provide access to lower-level hardware APIs
● Typically accessed through local Manager
  object

  LocationManager lm = (LocationManager) Context.getSystemService
  (Context.LOCATION_SERVICE);
Hardware Services
● Telephony Service
Hardware Services
● Telephony Service
● Location Service
Hardware Services
● Telephony Service
● Location Service
● Bluetooth Service
Hardware Services
●   Telephony Service
●   Location Service
●   Bluetooth Service
●   WiFi Service
Hardware Services
●   Telephony Service
●   Location Service
●   Bluetooth Service
●   WiFi Service
●   USB Service
Hardware Services
●   Telephony Service
●   Location Service
●   Bluetooth Service
●   WiFi Service
●   USB Service
●   Sensor Service
Android System
Agenda
●   Linux Kernel
●   Native Libraries
●   Android Runtime
●   Application Framework
●   Inside The System
    Connectivity(Bluetooth,WiFi...)
    Power Management
    Display & Multimedia (Surfaceflinger, Audioflinger,Camera/Video)
    Telephony (Radio Interface Layer)
● Android Boot sequence
● Layer Interaction
Inside The System
● Connectivity
  ○ Bluetooth
  ○ WiFi
● Power Management
● Display & Multimedia
  ○ Display Subsystem
  ○ Audio Subsystem
  ○ Camera/Video Subsystem
● Telephony
Connectivity
● Bluetooth
● Wi-Fi
Bluetooth




Note: Android 4.2 introduces a new Bluetooth stack optimized for use with
Android devices. The new Bluetooth stack developed in collaboration between
Google and Broadcom replaces the stack based on BlueZ and provides
improved compatibility and reliability.
Wi-Fi
● Android uses wpa_supplicant as the platform
  interface to the Wi-Fi device.
● Your Wi-Fi driver must be compatible with
  the standard wpa_supplicant
Wi-Fi
Inside The System
● Connectivity
  ○ Bluetooth
  ○ WiFi
● Power Management
● Display & Multimedia
  ○ Display Subsystem
  ○ Audio Subsystem
  ○ Camera/Video Subsystem
● Telephony
Power Management
Inside The System
● Connectivity
  ○ Bluetooth
  ○ WiFi
● Power Management
● Display & Multimedia
  ○ Display Subsystem
  ○ Audio Subsystem
  ○ Camera/Video Subsystem
● Telephony
Display & Multimedia
● Display Subsystem
● Audio Subsystem
● Camera/Video Subsystem
Display Subsystem
Audio Subsystem
Camera/Video Subsystem
Android Multimedia Framework
Inside The System
● Connectivity
  ○ Bluetooth
  ○ WiFi
● Power Management
● Display & Multimedia
  ○ Display Subsystem
  ○ Audio Subsystem
  ○ Camera/Video Subsystem
● Telephony
Telephony
● Radio Interface Layer

  Android's Radio Interface Layer (RIL) provides an
  abstraction layer between Android telephony services
  (android.telephony) and radio hardware.
Radio Interface Layer
Agenda
●   Linux Kernel
●   Native Libraries
●   Android Runtime
●   Application Framework
●   Inside The System
    Connectivity(Bluetooth,WiFi...)
    Power Management
    Display & Multimedia (Surfaceflinger, Audioflinger,Camera/Video)
    Telephony (Radio Interface Layer)
● Android Boot sequence
● Layer Interaction
Runtime Walkthrough
It all starts with init…

Similar to most Linux-based systems at startup,
the bootloader loads the Linux kernel and starts
the init process.
Runtime Walkthrough
● Init starts Linux daemons, including:
   ○ USB Daemon (usbd) to manage USB connections
   ○ Android Debug Bridge (adbd) to manage ADB connections
   ○ Debugger Daemon (debuggerd) to manage debug processes requests
       (dump memory, etc.)
   ○   Radio Interface Layer Daemon (rild) to manage communication with
       the radio
Runtime Walkthrough
● Init process starts the zygote process:
   ○ A nascent process which initializes a Dalvik VM instance
   ○ Loads classes and listens on socket for requests to spawn VMs
   ○ Forks on request to create VM instances for managed processes
   ○ Copy-on-write to maximize re-use and minimize footprint
Runtime Walkthrough
● Init starts runtime process:
   ○ Initializes Service Manager – the context manager for Binder that
        handles service registration and lookup
    ○   Registers Service Manager as default context manager for Binder
        services
Runtime Walkthrough
● Runtime process sends request for Zygote to start
  System Service
Runtime Walkthrough
● Runtime process sends request for Zygote to start
  System Server
  ○ Zygote forks a new VM instance for the System Service process and
       starts the service
Runtime Walkthrough
● System Service starts the native system servers,
  including:
   ○   Surface Flinger
   ○   Audio Flinger
Runtime Walkthrough
● Native system servers register with Service Manager as
  IPC service targets:
Runtime Walkthrough
● System Service starts the Android managed services:
Runtime Walkthrough
● Android managed Services register with Service
  Manager:
Runtime Walkthrough
Runtime Walkthrough
After system server loads all services, the system is
ready…
Runtime Walkthrough
After system server loads all services, the system is
ready…
Runtime Walkthrough
After system server loads all services, the system is
ready…
Runtime Walkthrough
Each subsequent application is launched in it's own
process
Agenda
●   Linux Kernel
●   Native Libraries
●   Android Runtime
●   Application Framework
●   Inside The System
    Connectivity(Bluetooth,WiFi...)
    Power Management
    Display & Multimedia (Surfaceflinger, Audioflinger,Camera/Video)
    Telephony (Radio Interface Layer)
● Android Boot sequence
● Layer Interaction
Layer Interaction
There are 3 main flavors of Android layer cake:
  ○ App   Runtime Service   lib
  ○ App   Runtime Service   Native Service   lib
  ○ App   Runtime Service   Native Daemon    lib
Layer Interaction
There are 3 main flavors of Android layer cake:
  ○ App   Runtime Service   lib
  ○ App   Runtime Service   Native Service   lib
  ○ App   Runtime Service   Native Daemon    lib
Android Runtime Services
Android Runtime Services
Android Runtime Services
Android Runtime Services
Example: Location Manager
Layer Interaction
There are 3 main flavors of Android layer cake:
  ○ App   Runtime Service   lib
  ○ App   Runtime Service   Native Service   lib
  ○ App   Runtime Service   Native Daemon    lib
Android Native Services
Android Native Services
Android Native Services
Android Native Services
Android Native Services
Android Native Services
Android Native Services
Layer Interaction
There are 3 main flavors of Android layer cake:
  ○ App   Runtime Service   lib
  ○ App   Runtime Service   Native Service   lib
  ○ App   Runtime Service   Native Daemon    lib
Daemon Connection
Daemon Connection
Daemon Connection
Daemon Connection
Questions

More Related Content

What's hot

Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Opersys inc.
 
Understanding the Android System Server
Understanding the Android System ServerUnderstanding the Android System Server
Understanding the Android System ServerOpersys inc.
 
Android HAL Introduction: libhardware and its legacy
Android HAL Introduction: libhardware and its legacyAndroid HAL Introduction: libhardware and its legacy
Android HAL Introduction: libhardware and its legacyJollen Chen
 
Android Treble: Blessing or Trouble?
Android Treble: Blessing or Trouble?Android Treble: Blessing or Trouble?
Android Treble: Blessing or Trouble?Opersys inc.
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessNanik Tolaram
 
Overview of Android binder IPC implementation
Overview of Android binder IPC implementationOverview of Android binder IPC implementation
Overview of Android binder IPC implementationChethan Pchethan
 
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
 
Learning AOSP - Android Linux Device Driver
Learning AOSP - Android Linux Device DriverLearning AOSP - Android Linux Device Driver
Learning AOSP - Android Linux Device DriverNanik Tolaram
 
The Android graphics path, in depth
The Android graphics path, in depthThe Android graphics path, in depth
The Android graphics path, in depthChris Simmonds
 
Android Binder IPC for Linux
Android Binder IPC for LinuxAndroid Binder IPC for Linux
Android Binder IPC for LinuxYu-Hsin Hung
 
Android graphic system (SurfaceFlinger) : Design Pattern's perspective
Android graphic system (SurfaceFlinger) : Design Pattern's perspectiveAndroid graphic system (SurfaceFlinger) : Design Pattern's perspective
Android graphic system (SurfaceFlinger) : Design Pattern's perspectiveBin Chen
 

What's hot (20)

Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
 
Embedded Android : System Development - Part III
Embedded Android : System Development - Part IIIEmbedded Android : System Development - Part III
Embedded Android : System Development - Part III
 
Understanding the Android System Server
Understanding the Android System ServerUnderstanding the Android System Server
Understanding the Android System Server
 
Android HAL Introduction: libhardware and its legacy
Android HAL Introduction: libhardware and its legacyAndroid HAL Introduction: libhardware and its legacy
Android HAL Introduction: libhardware and its legacy
 
Android Treble: Blessing or Trouble?
Android Treble: Blessing or Trouble?Android Treble: Blessing or Trouble?
Android Treble: Blessing or Trouble?
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting Process
 
Android Binder: Deep Dive
Android Binder: Deep DiveAndroid Binder: Deep Dive
Android Binder: Deep Dive
 
Overview of Android binder IPC implementation
Overview of Android binder IPC implementationOverview of Android binder IPC implementation
Overview of Android binder IPC implementation
 
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
 
Design and Concepts of Android Graphics
Design and Concepts of Android GraphicsDesign and Concepts of Android Graphics
Design and Concepts of Android Graphics
 
Learning AOSP - Android Linux Device Driver
Learning AOSP - Android Linux Device DriverLearning AOSP - Android Linux Device Driver
Learning AOSP - Android Linux Device Driver
 
Explore Android Internals
Explore Android InternalsExplore Android Internals
Explore Android Internals
 
Deep Dive into the AOSP
Deep Dive into the AOSPDeep Dive into the AOSP
Deep Dive into the AOSP
 
The Android graphics path, in depth
The Android graphics path, in depthThe Android graphics path, in depth
The Android graphics path, in depth
 
Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)
 
Introduction to Android Window System
Introduction to Android Window SystemIntroduction to Android Window System
Introduction to Android Window System
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
Android Binder IPC for Linux
Android Binder IPC for LinuxAndroid Binder IPC for Linux
Android Binder IPC for Linux
 
Android graphic system (SurfaceFlinger) : Design Pattern's perspective
Android graphic system (SurfaceFlinger) : Design Pattern's perspectiveAndroid graphic system (SurfaceFlinger) : Design Pattern's perspective
Android graphic system (SurfaceFlinger) : Design Pattern's perspective
 
Android internals
Android internalsAndroid internals
Android internals
 

Viewers also liked

Advance ui development and design
Advance ui  development and design Advance ui  development and design
Advance ui development and design Rakesh Jha
 
Psi android telephony_case_study_v10
Psi android telephony_case_study_v10Psi android telephony_case_study_v10
Psi android telephony_case_study_v10Primesoftinc
 
Labmeeting - 20150211 - Novel End-to-End Voice Encryption Method in GSM System
Labmeeting - 20150211 - Novel End-to-End Voice Encryption Method in GSM SystemLabmeeting - 20150211 - Novel End-to-End Voice Encryption Method in GSM System
Labmeeting - 20150211 - Novel End-to-End Voice Encryption Method in GSM SystemSyuan Wang
 
Encrypted Voice Communications
Encrypted Voice CommunicationsEncrypted Voice Communications
Encrypted Voice Communicationssbwahid
 
Voice encryption for gsm using arduino
Voice encryption for gsm using arduinoVoice encryption for gsm using arduino
Voice encryption for gsm using arduinoiruldaworld
 
RT Procedure new KTM
RT Procedure new KTMRT Procedure new KTM
RT Procedure new KTMRaj Pradhan
 
Linux kernel modules
Linux kernel modulesLinux kernel modules
Linux kernel modulesEddy Reyes
 
Android telephony stack
Android telephony stackAndroid telephony stack
Android telephony stackDavid Marques
 
Android Telephony Manager and SMS
Android Telephony Manager and SMSAndroid Telephony Manager and SMS
Android Telephony Manager and SMSJussi Pohjolainen
 
5432 cellular network
5432 cellular network5432 cellular network
5432 cellular networkRaafat younis
 
Kernel Configuration and Compilation
Kernel Configuration and CompilationKernel Configuration and Compilation
Kernel Configuration and CompilationBud Siddhisena
 
Android audio system(audioflinger)
Android audio system(audioflinger)Android audio system(audioflinger)
Android audio system(audioflinger)fefe7270
 
Voice securityprotocol review
Voice securityprotocol reviewVoice securityprotocol review
Voice securityprotocol reviewFabio Pietrosanti
 
Android internals 10 - Debugging/Profiling, Bluetooth/WiFI/RIL (rev_1.1)
Android internals 10 - Debugging/Profiling, Bluetooth/WiFI/RIL (rev_1.1)Android internals 10 - Debugging/Profiling, Bluetooth/WiFI/RIL (rev_1.1)
Android internals 10 - Debugging/Profiling, Bluetooth/WiFI/RIL (rev_1.1)Egor Elizarov
 
Android Layout模組化介紹
Android Layout模組化介紹Android Layout模組化介紹
Android Layout模組化介紹Chris Jeng
 
Android Radio Layer Interface
Android Radio Layer InterfaceAndroid Radio Layer Interface
Android Radio Layer InterfaceChun-Yu Wang
 

Viewers also liked (20)

Advance ui development and design
Advance ui  development and design Advance ui  development and design
Advance ui development and design
 
Psi android telephony_case_study_v10
Psi android telephony_case_study_v10Psi android telephony_case_study_v10
Psi android telephony_case_study_v10
 
Labmeeting - 20150211 - Novel End-to-End Voice Encryption Method in GSM System
Labmeeting - 20150211 - Novel End-to-End Voice Encryption Method in GSM SystemLabmeeting - 20150211 - Novel End-to-End Voice Encryption Method in GSM System
Labmeeting - 20150211 - Novel End-to-End Voice Encryption Method in GSM System
 
Encrypted Voice Communications
Encrypted Voice CommunicationsEncrypted Voice Communications
Encrypted Voice Communications
 
Kernel modules
Kernel modulesKernel modules
Kernel modules
 
Voice encryption for gsm using arduino
Voice encryption for gsm using arduinoVoice encryption for gsm using arduino
Voice encryption for gsm using arduino
 
RT Procedure new KTM
RT Procedure new KTMRT Procedure new KTM
RT Procedure new KTM
 
Cellular network
Cellular networkCellular network
Cellular network
 
Linux kernel modules
Linux kernel modulesLinux kernel modules
Linux kernel modules
 
Android telephony stack
Android telephony stackAndroid telephony stack
Android telephony stack
 
Android Telephony Manager and SMS
Android Telephony Manager and SMSAndroid Telephony Manager and SMS
Android Telephony Manager and SMS
 
5432 cellular network
5432 cellular network5432 cellular network
5432 cellular network
 
Kernel Configuration and Compilation
Kernel Configuration and CompilationKernel Configuration and Compilation
Kernel Configuration and Compilation
 
Android audio system(audioflinger)
Android audio system(audioflinger)Android audio system(audioflinger)
Android audio system(audioflinger)
 
Voice securityprotocol review
Voice securityprotocol reviewVoice securityprotocol review
Voice securityprotocol review
 
Telephony API
Telephony APITelephony API
Telephony API
 
Android internals 10 - Debugging/Profiling, Bluetooth/WiFI/RIL (rev_1.1)
Android internals 10 - Debugging/Profiling, Bluetooth/WiFI/RIL (rev_1.1)Android internals 10 - Debugging/Profiling, Bluetooth/WiFI/RIL (rev_1.1)
Android internals 10 - Debugging/Profiling, Bluetooth/WiFI/RIL (rev_1.1)
 
Android Layout模組化介紹
Android Layout模組化介紹Android Layout模組化介紹
Android Layout模組化介紹
 
Advance Android Layout Walkthrough
Advance Android Layout WalkthroughAdvance Android Layout Walkthrough
Advance Android Layout Walkthrough
 
Android Radio Layer Interface
Android Radio Layer InterfaceAndroid Radio Layer Interface
Android Radio Layer Interface
 

Similar to Android presentation

Portinig Application, Drivers And Os
Portinig Application, Drivers And OsPortinig Application, Drivers And Os
Portinig Application, Drivers And Osmomobangalore
 
Android understanding
Android understandingAndroid understanding
Android understandingRamesh Rao
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android Ranjith Kumar
 
Android Anatomy google io 2008
Android Anatomy google io 2008Android Anatomy google io 2008
Android Anatomy google io 2008Trinh Duy Hung
 
Android Internals and Toolchain
Android Internals and ToolchainAndroid Internals and Toolchain
Android Internals and ToolchainVladimir Kotov
 
Android - Application Framework
Android - Application FrameworkAndroid - Application Framework
Android - Application FrameworkYong Heui Cho
 
Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013Opersys inc.
 
Android Meetup, Илья Лёвин
Android Meetup, Илья ЛёвинAndroid Meetup, Илья Лёвин
Android Meetup, Илья ЛёвинGDG Saint Petersburg
 
An Introduction To Android
An Introduction To AndroidAn Introduction To Android
An Introduction To Androidnatdefreitas
 
Android operating system
Android operating systemAndroid operating system
Android operating systemDev Savalia
 
Android Architecture design programming with java
Android Architecture design programming with javaAndroid Architecture design programming with java
Android Architecture design programming with javassuser471dfb
 
Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3Opersys inc.
 
Leveraging Android's Linux Heritage
Leveraging Android's Linux HeritageLeveraging Android's Linux Heritage
Leveraging Android's Linux HeritageOpersys inc.
 
Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011Opersys inc.
 
The ultimate guide to software updates on embedded linux devices
The ultimate guide to software updates on embedded linux devicesThe ultimate guide to software updates on embedded linux devices
The ultimate guide to software updates on embedded linux devicesMender.io
 

Similar to Android presentation (20)

Portinig Application, Drivers And Os
Portinig Application, Drivers And OsPortinig Application, Drivers And Os
Portinig Application, Drivers And Os
 
Android understanding
Android understandingAndroid understanding
Android understanding
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android
 
Android Anatomy google io 2008
Android Anatomy google io 2008Android Anatomy google io 2008
Android Anatomy google io 2008
 
Embedded Android : System Development - Part I
Embedded Android : System Development - Part IEmbedded Android : System Development - Part I
Embedded Android : System Development - Part I
 
Android Internals and Toolchain
Android Internals and ToolchainAndroid Internals and Toolchain
Android Internals and Toolchain
 
Android - Application Framework
Android - Application FrameworkAndroid - Application Framework
Android - Application Framework
 
Android OS
Android OSAndroid OS
Android OS
 
Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013
 
Android Meetup, Илья Лёвин
Android Meetup, Илья ЛёвинAndroid Meetup, Илья Лёвин
Android Meetup, Илья Лёвин
 
My androidpresentation
My androidpresentationMy androidpresentation
My androidpresentation
 
An Introduction To Android
An Introduction To AndroidAn Introduction To Android
An Introduction To Android
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
Android operating system
Android operating systemAndroid operating system
Android operating system
 
Android Attacks
Android AttacksAndroid Attacks
Android Attacks
 
Android Architecture design programming with java
Android Architecture design programming with javaAndroid Architecture design programming with java
Android Architecture design programming with java
 
Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3
 
Leveraging Android's Linux Heritage
Leveraging Android's Linux HeritageLeveraging Android's Linux Heritage
Leveraging Android's Linux Heritage
 
Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011
 
The ultimate guide to software updates on embedded linux devices
The ultimate guide to software updates on embedded linux devicesThe ultimate guide to software updates on embedded linux devices
The ultimate guide to software updates on embedded linux devices
 

Android presentation