SlideShare ist ein Scribd-Unternehmen logo
1 von 59
Downloaden Sie, um offline zu lesen
COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
1
Benjamin Zores
Droidcon 2013 – 17-18th June 2013 – Paris, FR
Android Platform Anatomy
2
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
About Me
ALCATEL
LUCENT
ANDROID PLATFORM ARCHITECT
• Expert and Evangelist on Open Source Software.
• 9y experience on various multimedia/network embedded devices design.
• From low-level BSP integration to global applicative software architecture.
OPEN
SOURCE
PROJECT FOUNDER, LEADER AND/OR CONTRIBUTOR FOR:
• OpenBricks Embedded Linux cross-build framework.
• GeeXboX Embedded multimedia HTPC distribution.
• uShare UPnP A/V and DLNA Media Server.
• MPlayer Linux media player application.
LINUX
FOUNDATION
CONFERENCES
FORMER LINUX FOUNDATION’S EVENTS SPEAKER
• ELC 2010 GeeXboX Enna: Embedded Media Center
• ELC-E 2010 State of Multimedia in 2010 Embedded Linux Devices
• ELC-E 2011 Linux Optimization Techniques: How Not to Be Slow ?
• ABS 2012 Android Device Porting Walkthrough
• ELC-E 2012 Dive Into Android Networking: Adding Ethernet Connectivity
• ABS 2013 Jelly Bean Device Porting Walkthrough
3
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Bibliographical References
My Android bibles,
from my Android mentors:
Karim Yaghmour
Marko Gargenta
Followed by my own publications:
« Discovering Android »
Series of articles published in
GNU/Linux Magazine France
4
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
The Android Operating System
The Android
Operating System
5
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Releases History
6
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
System Architecture Overview
• Android OS:
- Low-Level
Linux Kernel & Drivers.
- Hardware
Abstraction Layer
- System Native Libraries,
Services, Daemons and
Supervisors.
- Java-based
Applicative Framework.
- Java Applications.
- Default ones.
- User additions.
7
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Google
- Up-to-date reference but limited devices support (reference design only).
- https://android.googlesource.com/platform/manifest
• Linaro
- Most integrated with wide hardware support (at least for SoC vendors reference boards).
- Many packages addition, compiler optimizations and fixes.
- git://android.git.linaro.org/platform/manifest.git
• Cyanogen Mod
- Most features but mostly used for tuning already released commercial products.
- https://github.com/cyanogenmod
• Vendor BSP
- Potentially outdated but best support for a given platform/SoC.
Android Platform Anatomy
Which Android Sources to Start With ?
8
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Device Porting How-To
Device Porting
How-To
9
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Device’s HW Internals
(C) Opersys inc. 2012
Original at opersys.com/training
10
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Recommendation:
- Ensure your SoC is already supported by Linux kernel.
• 1. Design your custom board around a reference design.
• 2. Ensure your HW is compatible with Android CDD.
• 3. Whenever possible, select HW peripherals that you know are supported.
• 4. Ensure you have detailed specifications for each peripheral !
• 5. Think about SoC pin muxing and avoid multiplexing.
• 6. Ensure you have HW schematics at hand.
• Start writing drivers and adapting the platform ;-)
Android Platform Anatomy
Device Porting Checklist
11
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Compatibility Goals
- Provide a consistent application and HW environment to application developers.
- Enable a consistent application experience for consumers.
- Enable device manufacturers to differentiate while being compatible.
- Minimize costs and overhead associated with compatibility.
• Compatibility Definition Document (CDD)
- List of hardware/software requirements per Android version.
- Mandatory requirements for device certification and access to market place.
• Compatibility Test Suite (CTS)
- Set of unit designed to be integrated into the daily workflow
(such as via a continuous build system) of the engineers building a device.
- Its intent is to reveal incompatibilities early on, and ensure that the software
remains compatible throughout the development process.
• More info on http://source.android.com/compatibility/overview.html
Android Platform Anatomy
Building an Android-Compatible Device
12
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Goals
- Ensure Google device certification.
- Provide Android PlayStore support.
- Provide Android applications compatibility.
- Allow access to Google Apps (GMail, Calendar ...).
• Key HW Mandatory Requirements
- Memory: Minimum of 340 MB (+ HW dedicated DMA memory).
- Storage: Minimum of 2 GB.
- Display: Minimum resolution of 426x320
Aspect ratio must be between 4:3 and 16:9.
- Graphics: OpenGL ES 1.0 / 2.0 is mandatory.
Hardware 2D / 3D engine is more than recommended.
- DO NOT modify Google APIs and framework.
Android Platform Anatomy
Jelly Bean Device Compatibility Guidelines
13
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Android Kernel
Android
Kernel
14
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Various Kernel “Androidisms”:
- Ashmem, anonymous shared memory allocator.
- Binder IPC and RMI system (a.k.a. message bus)
- Pmem / ION, process contiguous memory allocator (usually vendor specific).
- Logger, system logging facility.
- Early Suspend
- Wakelocks, power management and “always-off” policy.
- Low Memory Killer, OOM tuning for OOM-Killer.
- Alarm Timers.
- Paranoid Network Security.
- Timed GPIO.
- RAM Console.
- USB Gadget Driver, for ADB.
• See http://elinux.org/Android_Kernel_Features for more details.
• Most of them have been integrated upstream with kernel 3.3 to 3.5.
Android Platform Anatomy
Linux Kernel Androidisms
15
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Binder Driver
16
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Usually no drivers built as modules:
- No udev, smaller disk footprint, faster to load up.
- Kernel is built for a static hardware configuration.
• Except for proprietary drivers (usually) or those requiring firmware (e.g. Wi-Fi).
• Can be added to Android FS separately as for firmwares.
• Example of BoardConfig.mk settings:
TARGET_KERNEL_DEFCONF := my_device_android_defconfig
BOARD_KERNEL_CMDLINE := console=ttymxc2,115200 init=/init rw
video=mxcfb0:dev=lcd,800x480@60,if=RGB24 fbmem=10M
vmalloc=512M androidboot.console=ttymxc2 maxcpus=4
consoleblank=0
Hint: Develop and debug raw drivers on Linux OS, not Android.
Android Platform Anatomy
Linux Kernel Drivers Policy
17
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Android User-Space
Android
User-Space
18
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Small footprint non-POSIX BSD-licensed C library:
• No System V IPC (to avoid potential deny of services).
• No support for locales and wide chars (i.e. multi-byte characters).
- I18N is done at Dalvik/Application level
• Custom pthread implementation, based on Linux futexes.
- Bundled-in (no –lpthread), with no support for cancellation,
process-shared mutexes and conditional variables.
• No support for C++ exceptions.
• Custom timezone support and DNS resolver library.
• Kernel Logger driver liblog implementation.
• Several functions are just stubs (i.e. runtime weirdness may happen).
• Non standard /etc config files:
- Dynamic user/groups management (no pam, group, passwd or shadow)
- No fstab, no SysV init, no /etc/services or /etc/protocol.
• See ndk/docs/system/libc/OVERVIEW.html for exhaustive list.
Android Platform Anatomy
Bionic C Library
19
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• In-memory Bionic System Properties management
- Array of volatile property=value fields.
- Can be get/set through getprop/setprop shell commands as well as Java API.
- No documentation on existing properties.
- Anyone can add his own custom properties (almost).
• More persistent configuration settings are available in SQLite databases:
- e.g: /data/data/com.android.providers.settings/database/settings.db
- See secure and system tables.
Android Platform Anatomy
System Properties and Settings Databases
20
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Some drivers are implemented in user-space through an HAL
- Separates Android platform logic from hardware interface.
- Offers “standard driver” definition for multiple components
(e.g. Graphics, Audio, Camera, GPS, Radio …) and makes porting easier.
- C/C++ vendor-specific libraries.
- Communicate with Linux drivers through /proc, /sys and /dev.
• Implementation
- Google offers generic libhardware and libhardware_legacy templates.
- OEMs implement “drivers” libs for their specific hardware.
- Code often remains proprietary.
- Code is loaded at runtime through pre-determined naming strategies.
Android Platform Anatomy
User-Space Hardware Abstraction Layer (HAL)
21
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Series of dynamically loaded plugin (.so files):
- MUST match board-specific plugin name
- See APIs in hardware/libhardware/include/hardware
- Default/dummy implementation provided in AOSP (hardware/libhardware/modules)
- MUST be fully implemented by device vendor.
- Can be closed-source.
• For each HAL class module plugins are checked:
- based on system properties values in the following order:
- ro.hardware
- ro.product.board
- ro.board.platform
- ro.arch
- in the following directories order:
- /vendor/lib/hw
- /system/lib/hw
Android Platform Anatomy
Hardware Abstraction Library
22
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
HAL Components
Subsystem Component Role
Audio audio.primary.so Configuration, Mixing, Routing, Streaming, Echo Cancellation,
FX ...
Framebuffer Built-in Configuration, Composition, Display
GFX Allocator gralloc.so GPU Memory Buffer Management
GFX HW Composer hwcomposer.so Surface Composition and Transformation
Camera camera.so Facing, Orientation, Buffer Management, Pictures, Recording
Wi-Fi Built-in AP/STA/P2P Configuration and Firmware Support
Bluetooth bluetooth.default.so Low-level HW control
GPS gps.so Configuration, Location Data Acquisition
NFC nfc.default.so Low-level HW control
Ligths lights.so Backlight and LEDS control
Sensors sensors.so Accelerometer/Pressure/Proximity/Gravity/... Controls
Radio libril-<company>-
<version>.so
Low-level HW control
23
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Dalvik VM:
- Register-based versus stack-based VM.
- Runs .dex executable files.
- More efficient and compact than JVM.
• Possible Optimizations:
Android Platform Anatomy
Android Dalvik VM
24
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Peripherals Integration
Type Difficulty Location Comment
CPU Core High Bootloader, Kernel Hopefully provided by SoC manufacturer
PMIC High Bootloader, Kernel Device Specific: to be configured …
NAND/eMMC Easy Bootloader, Kernel Partitionning is up to you …
LCD Easy Kernel Depends on selected peripheral …
2D/3D GPU Medium Kernel, Android HAL Hopefully provided by SoC manufacturer
Touchscreen Easy Kernel Depends on selected peripheral …
Audio Codec Medium Kernel, Android HAL Depends on selected peripheral …
Video Codec Medium Kernel, Android HAL, Framework Hopefully provided by SoC manufacturer
USB Easy Kernel
GSM Radio Medium Kernel, Android HAL Depends on selected peripheral …
Wi-Fi Medium Kernel, Android HAL Depends on selected peripheral …
Bluetooth Medium Kernel, Android HAL Depends on selected peripheral …
Ethernet Easy Kernel, Android HAL, Framework
NFC Medium Kernel, Android HAL Depends on selected peripheral …
GPS Medium Kernel, Android HAL Depends on selected peripheral …
Sensors Medium Kernel, Android HAL Depends on selected peripheral …
25
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Android Initialization
Android
Initialization
26
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Android init semantics
is different from:
- System V init
- BusyBox init
Android Platform Anatomy
Init: Theory of Operations
27
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Proprietary init language based on rules and conditions.
• Able to spawn services and restart them on failures
through signals and sockets.
• Initialization Steps:
- Creates basic filesystem (/dev, /proc, /sys) and mounts it.
- Parses /init.rc
- Parses /init.${hw_name}.rc based on kernel command-line or /proc/cpuinfo
- Build exec queues
- Start triggers and associated actions and services.
- e.g. "early-init", "init", "early-fs", "fs", "post-fs", "early-boot", "boot" …
Android Platform Anatomy
Android Init
28
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Init: Summary
29
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Graphics Layer
Graphics Layer
30
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Graphics: Theory of Operations
31
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Surface Composition: Theory of Operations
32
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Surface Composition: Theory of Operations
33
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Graphics Detailed SW Architecture (1/2)
34
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Graphics Detailed SW Architecture (2/2)
35
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Originally meant for GPU memory, but not only anymore !
• Implements libhardware/include/hardware/gralloc.h
• (Un)register and (un)lock memory buffers.
• Usually consist of contiguous memory
(flag GRALLOC_USAGE_FORCE_CONTIGUOUS) for DMA operations.
• Jelly Bean now uses triple-buffer for framebuffer.
• Support different kind of buffers:
Android Platform Anatomy
(GPU) Memory Management: Gralloc
- GLES texture
- GLES render surface
- 2D HW blitter
- HWComposer
- Framebuffer
- HW video encoder
- Input HW camera pipeline
- Output HW camera pipeline.
36
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Create a custom bootanimation.zip archive:
• In BoardConfig.mk:
- PRODUCT_COPY_FILES += 
device/company/my_device/bootanimation.zip:system/media/bootanimation.zip
• Note: Create the archive _WITHOUT_ compression !!
- => zip -0
Android Platform Anatomy
Custom Boot Logo
37
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Hack over frameworks/base/cmds/bootanimation:
- Preloads the whole ZIP archive image files at once
- Use an OpenGL|ES texture cache
- Bootanimation doesn’t stutter anymore !
- => See patchset on http://goo.gl/f1Lc4 (CyanogenMod)
• Hack over BoardConfig.mk:
Android Platform Anatomy
Enhanced Boot Animation
38
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Input Layer
Input Layer
39
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Input Layer Architecture
40
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Contains device-specific configuration properties
that affect the behavior of input devices.
• Optional for standard peripherals such as HID keyboard and mouse.
• Mandatory for built-in embedded devices such as touch screens.
• Location:
- Located by USB vendor, product (and optionally version) id or by input device name.
- The following paths are consulted in order:
Android Platform Anatomy
Input Device Configuration Files (.idc)
41
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Add ${driver_name}.idc to system:
- In device.mk, add:
- PRODUCT_COPY_FILES +=
device/company/my_device/${driver_name}.idc:system/usr/idc/${driver_name}.idc
• Example of ${driver_name}.idc:
Android Platform Anatomy
Touchscreen Device Configuration File
42
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Audio Layer
Audio Layer
43
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Audio SW Architecture
44
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Audio SW Architecture
45
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Audio SW Architecture
46
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Audio HAL
Define Android
framework supported
input/output devices
Private API
implementation
Turn on ALSA driver
control name
47
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Audio Policy (/etc/audio_policy.conf)
List supported sampling rates,
formats, devices … for each
audio.<module>.so
48
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Multimedia Layer
Multimedia Layer
49
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Multimedia Layer
50
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Multimedia Detailed SW Architecture
51
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
StageFright SW Architecture (1/2)
52
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
StageFright SW Architecture (2/2)
53
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Network Layer
Network Layer
54
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Low-level kernel drivers work just like a charm up to Linux user-space.
• For Java apps connectivity, each connection type must register a specific
ConnectivityManager and associated ConnectivityService that handles
device configuration, packet routing and HTTP(S) proxy settings.
Android Platform Anatomy
Network & Connectivity
55
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Android Platform Anatomy
Conclusion
Conclusion
56
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Android SW architecture is ages away
from your GNU/Linux experience.
- Low-level drivers are Linux-compatible but that’s pretty much all about it.
- One need trained experts to bring Android devices to life.
• Android provides a HAL that unifies hardware interfaces.
- Facilitate device porting.
- But terribly lacks of documentation (same goes for the whole platform).
• Porting devices to Android is an extremely complex task.
- But it makes application developers happy by providing them
a (nearly) seamless experience across all devices.
Android Platform Anatomy
Conclusion
57
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Thank You
Android Platform Anatomy
Thanks
Droidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform Anatomy

Weitere ähnliche Inhalte

Was ist angesagt?

Droidcon uk2012 androvm
Droidcon uk2012 androvmDroidcon uk2012 androvm
Droidcon uk2012 androvmdfages
 
The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)Chris Simmonds
 
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKYocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKMarco Cavallini
 
Android OTA updates
Android OTA updatesAndroid OTA updates
Android OTA updatesGary Bisson
 
Tuning Android for low RAM
Tuning Android for low RAMTuning Android for low RAM
Tuning Android for low RAMChris Simmonds
 
Embedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphoneEmbedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphoneChris Simmonds
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphoneChris Simmonds
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Marco Cavallini
 
Android crash debugging
Android crash debuggingAndroid crash debugging
Android crash debuggingAshish Agrawal
 
A War Story: Porting Android 4.0 to a Custom Board (ELCE 2012)
A War Story: Porting Android 4.0 to a Custom Board (ELCE 2012)A War Story: Porting Android 4.0 to a Custom Board (ELCE 2012)
A War Story: Porting Android 4.0 to a Custom Board (ELCE 2012)Matthias Brugger
 
Reducing boot time in embedded Linux
Reducing boot time in embedded LinuxReducing boot time in embedded Linux
Reducing boot time in embedded LinuxChris Simmonds
 
Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019Chris Simmonds
 
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot imagesBooting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot imagesChris Simmonds
 
Read-only rootfs: theory and practice
Read-only rootfs: theory and practiceRead-only rootfs: theory and practice
Read-only rootfs: theory and practiceChris Simmonds
 
Android OS Porting: Introduction
Android OS Porting: IntroductionAndroid OS Porting: Introduction
Android OS Porting: IntroductionJollen Chen
 
Is Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VIIs Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VIOpersys inc.
 
Jonathan Corbet - Keynote: The Kernel Report
Jonathan Corbet - Keynote: The Kernel ReportJonathan Corbet - Keynote: The Kernel Report
Jonathan Corbet - Keynote: The Kernel Reportlinuxlab_conf
 
Linux day 2016 Yocto Project
Linux day 2016 Yocto ProjectLinux day 2016 Yocto Project
Linux day 2016 Yocto ProjectMarco Cavallini
 
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.
 

Was ist angesagt? (20)

Droidcon uk2012 androvm
Droidcon uk2012 androvmDroidcon uk2012 androvm
Droidcon uk2012 androvm
 
The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)
 
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKYocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
 
Android OTA updates
Android OTA updatesAndroid OTA updates
Android OTA updates
 
Tuning Android for low RAM
Tuning Android for low RAMTuning Android for low RAM
Tuning Android for low RAM
 
Embedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphoneEmbedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphone
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphone
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019
 
Android crash debugging
Android crash debuggingAndroid crash debugging
Android crash debugging
 
What & How to Customize Android?
What & How to Customize Android?What & How to Customize Android?
What & How to Customize Android?
 
A War Story: Porting Android 4.0 to a Custom Board (ELCE 2012)
A War Story: Porting Android 4.0 to a Custom Board (ELCE 2012)A War Story: Porting Android 4.0 to a Custom Board (ELCE 2012)
A War Story: Porting Android 4.0 to a Custom Board (ELCE 2012)
 
Reducing boot time in embedded Linux
Reducing boot time in embedded LinuxReducing boot time in embedded Linux
Reducing boot time in embedded Linux
 
Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019
 
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot imagesBooting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot images
 
Read-only rootfs: theory and practice
Read-only rootfs: theory and practiceRead-only rootfs: theory and practice
Read-only rootfs: theory and practice
 
Android OS Porting: Introduction
Android OS Porting: IntroductionAndroid OS Porting: Introduction
Android OS Porting: Introduction
 
Is Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VIIs Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VI
 
Jonathan Corbet - Keynote: The Kernel Report
Jonathan Corbet - Keynote: The Kernel ReportJonathan Corbet - Keynote: The Kernel Report
Jonathan Corbet - Keynote: The Kernel Report
 
Linux day 2016 Yocto Project
Linux day 2016 Yocto ProjectLinux day 2016 Yocto Project
Linux day 2016 Yocto Project
 
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
 

Andere mochten auch

ELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
ELCE 2012 - Dive into Android Networking: Adding Ethernet ConnectivityELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
ELCE 2012 - Dive into Android Networking: Adding Ethernet ConnectivityBenjamin Zores
 
Extending Android with New Devices
Extending Android with New DevicesExtending Android with New Devices
Extending Android with New DevicesShree Kumar
 
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...Opersys inc.
 
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.
 
Working with the AOSP - Linaro Connect Asia 2013
Working with the AOSP - Linaro Connect Asia 2013Working with the AOSP - Linaro Connect Asia 2013
Working with the AOSP - Linaro Connect Asia 2013Opersys inc.
 
Android 4.2 Car Stereo Instructions Use Manual
Android 4.2 Car Stereo Instructions Use ManualAndroid 4.2 Car Stereo Instructions Use Manual
Android 4.2 Car Stereo Instructions Use ManualAuto pumkin
 

Andere mochten auch (6)

ELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
ELCE 2012 - Dive into Android Networking: Adding Ethernet ConnectivityELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
ELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
 
Extending Android with New Devices
Extending Android with New DevicesExtending Android with New Devices
Extending Android with New Devices
 
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
 
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...
 
Working with the AOSP - Linaro Connect Asia 2013
Working with the AOSP - Linaro Connect Asia 2013Working with the AOSP - Linaro Connect Asia 2013
Working with the AOSP - Linaro Connect Asia 2013
 
Android 4.2 Car Stereo Instructions Use Manual
Android 4.2 Car Stereo Instructions Use ManualAndroid 4.2 Car Stereo Instructions Use Manual
Android 4.2 Car Stereo Instructions Use Manual
 

Ähnlich wie Droidcon 2013 France - Android Platform Anatomy

UplinQ - bring out the best in embedded computing
UplinQ - bring out the best in embedded computingUplinQ - bring out the best in embedded computing
UplinQ - bring out the best in embedded computingSatya Harish
 
OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...
OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...
OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...Paris Open Source Summit
 
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
 
Open source Android 10 on Orange Pi: Meth or Reality?
Open source Android 10 on Orange Pi: Meth or Reality?Open source Android 10 on Orange Pi: Meth or Reality?
Open source Android 10 on Orange Pi: Meth or Reality?GlobalLogic Ukraine
 
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
 
Is Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon VIs Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon VOpersys inc.
 
Isn’t it Ironic that a Redfish is software defining you
Isn’t it Ironic that a Redfish is software defining you Isn’t it Ironic that a Redfish is software defining you
Isn’t it Ironic that a Redfish is software defining you Bruno Cornec
 
Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011pundiramit
 
Ubuntu phone engineering
Ubuntu phone engineeringUbuntu phone engineering
Ubuntu phone engineeringRex Tsai
 
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TVBeMyApp
 
Containerizing Hardware Accelerated Applications
Containerizing Hardware Accelerated ApplicationsContainerizing Hardware Accelerated Applications
Containerizing Hardware Accelerated ApplicationsDocker, Inc.
 
Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...
Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...
Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...Codemotion Tel Aviv
 
Android Meetup, Илья Лёвин
Android Meetup, Илья ЛёвинAndroid Meetup, Илья Лёвин
Android Meetup, Илья ЛёвинGDG Saint Petersburg
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions newJoe Jacob
 
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ..."Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...Edge AI and Vision Alliance
 
Flexible DevOps Deployment of Enterprise Test Environments in the Cloud
Flexible DevOps Deployment of Enterprise Test Environments in the CloudFlexible DevOps Deployment of Enterprise Test Environments in the Cloud
Flexible DevOps Deployment of Enterprise Test Environments in the CloudDevOps for Enterprise Systems
 

Ähnlich wie Droidcon 2013 France - Android Platform Anatomy (20)

Bring Out the Best in Embedded Computing
Bring Out the Best in Embedded ComputingBring Out the Best in Embedded Computing
Bring Out the Best in Embedded Computing
 
UplinQ - bring out the best in embedded computing
UplinQ - bring out the best in embedded computingUplinQ - bring out the best in embedded computing
UplinQ - bring out the best in embedded computing
 
OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...
OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...
OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...
 
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
 
Open source Android 10 on Orange Pi: Meth or Reality?
Open source Android 10 on Orange Pi: Meth or Reality?Open source Android 10 on Orange Pi: Meth or Reality?
Open source Android 10 on Orange Pi: Meth or Reality?
 
Android architechture
Android architechtureAndroid architechture
Android architechture
 
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
 
Is Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon VIs Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon V
 
Isn’t it Ironic that a Redfish is software defining you
Isn’t it Ironic that a Redfish is software defining you Isn’t it Ironic that a Redfish is software defining you
Isn’t it Ironic that a Redfish is software defining you
 
Android
Android Android
Android
 
Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011
 
Ubuntu phone engineering
Ubuntu phone engineeringUbuntu phone engineering
Ubuntu phone engineering
 
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
 
Containerizing Hardware Accelerated Applications
Containerizing Hardware Accelerated ApplicationsContainerizing Hardware Accelerated Applications
Containerizing Hardware Accelerated Applications
 
Agnostic Device Drivers
Agnostic Device DriversAgnostic Device Drivers
Agnostic Device Drivers
 
Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...
Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...
Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...
 
Android Meetup, Илья Лёвин
Android Meetup, Илья ЛёвинAndroid Meetup, Илья Лёвин
Android Meetup, Илья Лёвин
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions new
 
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ..."Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
 
Flexible DevOps Deployment of Enterprise Test Environments in the Cloud
Flexible DevOps Deployment of Enterprise Test Environments in the CloudFlexible DevOps Deployment of Enterprise Test Environments in the Cloud
Flexible DevOps Deployment of Enterprise Test Environments in the Cloud
 

Mehr von Benjamin Zores

ABS 2013: Dive into Android Networking - Adding Ethernet Connectivity
ABS 2013: Dive into Android Networking - Adding Ethernet ConnectivityABS 2013: Dive into Android Networking - Adding Ethernet Connectivity
ABS 2013: Dive into Android Networking - Adding Ethernet ConnectivityBenjamin Zores
 
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be SlowELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be SlowBenjamin Zores
 
Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkIntroduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkBenjamin Zores
 
ELCE 2010 - State Of Multimedia In 2010 Embedded Linux Devices
ELCE 2010 - State Of Multimedia In 2010 Embedded Linux DevicesELCE 2010 - State Of Multimedia In 2010 Embedded Linux Devices
ELCE 2010 - State Of Multimedia In 2010 Embedded Linux DevicesBenjamin Zores
 
ELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media CenterELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media CenterBenjamin Zores
 
Fosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media CenterFosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media CenterBenjamin Zores
 

Mehr von Benjamin Zores (6)

ABS 2013: Dive into Android Networking - Adding Ethernet Connectivity
ABS 2013: Dive into Android Networking - Adding Ethernet ConnectivityABS 2013: Dive into Android Networking - Adding Ethernet Connectivity
ABS 2013: Dive into Android Networking - Adding Ethernet Connectivity
 
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be SlowELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
 
Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkIntroduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux Framework
 
ELCE 2010 - State Of Multimedia In 2010 Embedded Linux Devices
ELCE 2010 - State Of Multimedia In 2010 Embedded Linux DevicesELCE 2010 - State Of Multimedia In 2010 Embedded Linux Devices
ELCE 2010 - State Of Multimedia In 2010 Embedded Linux Devices
 
ELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media CenterELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media Center
 
Fosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media CenterFosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media Center
 

Kürzlich hochgeladen

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
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
 
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
 
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
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
[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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Kürzlich hochgeladen (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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
 
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
 
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
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
[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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

Droidcon 2013 France - Android Platform Anatomy

  • 1. COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Benjamin Zores Droidcon 2013 – 17-18th June 2013 – Paris, FR Android Platform Anatomy
  • 2. 2 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy About Me ALCATEL LUCENT ANDROID PLATFORM ARCHITECT • Expert and Evangelist on Open Source Software. • 9y experience on various multimedia/network embedded devices design. • From low-level BSP integration to global applicative software architecture. OPEN SOURCE PROJECT FOUNDER, LEADER AND/OR CONTRIBUTOR FOR: • OpenBricks Embedded Linux cross-build framework. • GeeXboX Embedded multimedia HTPC distribution. • uShare UPnP A/V and DLNA Media Server. • MPlayer Linux media player application. LINUX FOUNDATION CONFERENCES FORMER LINUX FOUNDATION’S EVENTS SPEAKER • ELC 2010 GeeXboX Enna: Embedded Media Center • ELC-E 2010 State of Multimedia in 2010 Embedded Linux Devices • ELC-E 2011 Linux Optimization Techniques: How Not to Be Slow ? • ABS 2012 Android Device Porting Walkthrough • ELC-E 2012 Dive Into Android Networking: Adding Ethernet Connectivity • ABS 2013 Jelly Bean Device Porting Walkthrough
  • 3. 3 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Bibliographical References My Android bibles, from my Android mentors: Karim Yaghmour Marko Gargenta Followed by my own publications: « Discovering Android » Series of articles published in GNU/Linux Magazine France
  • 4. 4 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy The Android Operating System The Android Operating System
  • 5. 5 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Releases History
  • 6. 6 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy System Architecture Overview • Android OS: - Low-Level Linux Kernel & Drivers. - Hardware Abstraction Layer - System Native Libraries, Services, Daemons and Supervisors. - Java-based Applicative Framework. - Java Applications. - Default ones. - User additions.
  • 7. 7 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Google - Up-to-date reference but limited devices support (reference design only). - https://android.googlesource.com/platform/manifest • Linaro - Most integrated with wide hardware support (at least for SoC vendors reference boards). - Many packages addition, compiler optimizations and fixes. - git://android.git.linaro.org/platform/manifest.git • Cyanogen Mod - Most features but mostly used for tuning already released commercial products. - https://github.com/cyanogenmod • Vendor BSP - Potentially outdated but best support for a given platform/SoC. Android Platform Anatomy Which Android Sources to Start With ?
  • 8. 8 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Device Porting How-To Device Porting How-To
  • 9. 9 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Device’s HW Internals (C) Opersys inc. 2012 Original at opersys.com/training
  • 10. 10 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Recommendation: - Ensure your SoC is already supported by Linux kernel. • 1. Design your custom board around a reference design. • 2. Ensure your HW is compatible with Android CDD. • 3. Whenever possible, select HW peripherals that you know are supported. • 4. Ensure you have detailed specifications for each peripheral ! • 5. Think about SoC pin muxing and avoid multiplexing. • 6. Ensure you have HW schematics at hand. • Start writing drivers and adapting the platform ;-) Android Platform Anatomy Device Porting Checklist
  • 11. 11 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Compatibility Goals - Provide a consistent application and HW environment to application developers. - Enable a consistent application experience for consumers. - Enable device manufacturers to differentiate while being compatible. - Minimize costs and overhead associated with compatibility. • Compatibility Definition Document (CDD) - List of hardware/software requirements per Android version. - Mandatory requirements for device certification and access to market place. • Compatibility Test Suite (CTS) - Set of unit designed to be integrated into the daily workflow (such as via a continuous build system) of the engineers building a device. - Its intent is to reveal incompatibilities early on, and ensure that the software remains compatible throughout the development process. • More info on http://source.android.com/compatibility/overview.html Android Platform Anatomy Building an Android-Compatible Device
  • 12. 12 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Goals - Ensure Google device certification. - Provide Android PlayStore support. - Provide Android applications compatibility. - Allow access to Google Apps (GMail, Calendar ...). • Key HW Mandatory Requirements - Memory: Minimum of 340 MB (+ HW dedicated DMA memory). - Storage: Minimum of 2 GB. - Display: Minimum resolution of 426x320 Aspect ratio must be between 4:3 and 16:9. - Graphics: OpenGL ES 1.0 / 2.0 is mandatory. Hardware 2D / 3D engine is more than recommended. - DO NOT modify Google APIs and framework. Android Platform Anatomy Jelly Bean Device Compatibility Guidelines
  • 13. 13 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Android Kernel Android Kernel
  • 14. 14 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Various Kernel “Androidisms”: - Ashmem, anonymous shared memory allocator. - Binder IPC and RMI system (a.k.a. message bus) - Pmem / ION, process contiguous memory allocator (usually vendor specific). - Logger, system logging facility. - Early Suspend - Wakelocks, power management and “always-off” policy. - Low Memory Killer, OOM tuning for OOM-Killer. - Alarm Timers. - Paranoid Network Security. - Timed GPIO. - RAM Console. - USB Gadget Driver, for ADB. • See http://elinux.org/Android_Kernel_Features for more details. • Most of them have been integrated upstream with kernel 3.3 to 3.5. Android Platform Anatomy Linux Kernel Androidisms
  • 15. 15 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Binder Driver
  • 16. 16 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Usually no drivers built as modules: - No udev, smaller disk footprint, faster to load up. - Kernel is built for a static hardware configuration. • Except for proprietary drivers (usually) or those requiring firmware (e.g. Wi-Fi). • Can be added to Android FS separately as for firmwares. • Example of BoardConfig.mk settings: TARGET_KERNEL_DEFCONF := my_device_android_defconfig BOARD_KERNEL_CMDLINE := console=ttymxc2,115200 init=/init rw video=mxcfb0:dev=lcd,800x480@60,if=RGB24 fbmem=10M vmalloc=512M androidboot.console=ttymxc2 maxcpus=4 consoleblank=0 Hint: Develop and debug raw drivers on Linux OS, not Android. Android Platform Anatomy Linux Kernel Drivers Policy
  • 17. 17 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Android User-Space Android User-Space
  • 18. 18 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Small footprint non-POSIX BSD-licensed C library: • No System V IPC (to avoid potential deny of services). • No support for locales and wide chars (i.e. multi-byte characters). - I18N is done at Dalvik/Application level • Custom pthread implementation, based on Linux futexes. - Bundled-in (no –lpthread), with no support for cancellation, process-shared mutexes and conditional variables. • No support for C++ exceptions. • Custom timezone support and DNS resolver library. • Kernel Logger driver liblog implementation. • Several functions are just stubs (i.e. runtime weirdness may happen). • Non standard /etc config files: - Dynamic user/groups management (no pam, group, passwd or shadow) - No fstab, no SysV init, no /etc/services or /etc/protocol. • See ndk/docs/system/libc/OVERVIEW.html for exhaustive list. Android Platform Anatomy Bionic C Library
  • 19. 19 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • In-memory Bionic System Properties management - Array of volatile property=value fields. - Can be get/set through getprop/setprop shell commands as well as Java API. - No documentation on existing properties. - Anyone can add his own custom properties (almost). • More persistent configuration settings are available in SQLite databases: - e.g: /data/data/com.android.providers.settings/database/settings.db - See secure and system tables. Android Platform Anatomy System Properties and Settings Databases
  • 20. 20 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Some drivers are implemented in user-space through an HAL - Separates Android platform logic from hardware interface. - Offers “standard driver” definition for multiple components (e.g. Graphics, Audio, Camera, GPS, Radio …) and makes porting easier. - C/C++ vendor-specific libraries. - Communicate with Linux drivers through /proc, /sys and /dev. • Implementation - Google offers generic libhardware and libhardware_legacy templates. - OEMs implement “drivers” libs for their specific hardware. - Code often remains proprietary. - Code is loaded at runtime through pre-determined naming strategies. Android Platform Anatomy User-Space Hardware Abstraction Layer (HAL)
  • 21. 21 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Series of dynamically loaded plugin (.so files): - MUST match board-specific plugin name - See APIs in hardware/libhardware/include/hardware - Default/dummy implementation provided in AOSP (hardware/libhardware/modules) - MUST be fully implemented by device vendor. - Can be closed-source. • For each HAL class module plugins are checked: - based on system properties values in the following order: - ro.hardware - ro.product.board - ro.board.platform - ro.arch - in the following directories order: - /vendor/lib/hw - /system/lib/hw Android Platform Anatomy Hardware Abstraction Library
  • 22. 22 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy HAL Components Subsystem Component Role Audio audio.primary.so Configuration, Mixing, Routing, Streaming, Echo Cancellation, FX ... Framebuffer Built-in Configuration, Composition, Display GFX Allocator gralloc.so GPU Memory Buffer Management GFX HW Composer hwcomposer.so Surface Composition and Transformation Camera camera.so Facing, Orientation, Buffer Management, Pictures, Recording Wi-Fi Built-in AP/STA/P2P Configuration and Firmware Support Bluetooth bluetooth.default.so Low-level HW control GPS gps.so Configuration, Location Data Acquisition NFC nfc.default.so Low-level HW control Ligths lights.so Backlight and LEDS control Sensors sensors.so Accelerometer/Pressure/Proximity/Gravity/... Controls Radio libril-<company>- <version>.so Low-level HW control
  • 23. 23 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Dalvik VM: - Register-based versus stack-based VM. - Runs .dex executable files. - More efficient and compact than JVM. • Possible Optimizations: Android Platform Anatomy Android Dalvik VM
  • 24. 24 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Peripherals Integration Type Difficulty Location Comment CPU Core High Bootloader, Kernel Hopefully provided by SoC manufacturer PMIC High Bootloader, Kernel Device Specific: to be configured … NAND/eMMC Easy Bootloader, Kernel Partitionning is up to you … LCD Easy Kernel Depends on selected peripheral … 2D/3D GPU Medium Kernel, Android HAL Hopefully provided by SoC manufacturer Touchscreen Easy Kernel Depends on selected peripheral … Audio Codec Medium Kernel, Android HAL Depends on selected peripheral … Video Codec Medium Kernel, Android HAL, Framework Hopefully provided by SoC manufacturer USB Easy Kernel GSM Radio Medium Kernel, Android HAL Depends on selected peripheral … Wi-Fi Medium Kernel, Android HAL Depends on selected peripheral … Bluetooth Medium Kernel, Android HAL Depends on selected peripheral … Ethernet Easy Kernel, Android HAL, Framework NFC Medium Kernel, Android HAL Depends on selected peripheral … GPS Medium Kernel, Android HAL Depends on selected peripheral … Sensors Medium Kernel, Android HAL Depends on selected peripheral …
  • 25. 25 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Android Initialization Android Initialization
  • 26. 26 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Android init semantics is different from: - System V init - BusyBox init Android Platform Anatomy Init: Theory of Operations
  • 27. 27 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Proprietary init language based on rules and conditions. • Able to spawn services and restart them on failures through signals and sockets. • Initialization Steps: - Creates basic filesystem (/dev, /proc, /sys) and mounts it. - Parses /init.rc - Parses /init.${hw_name}.rc based on kernel command-line or /proc/cpuinfo - Build exec queues - Start triggers and associated actions and services. - e.g. "early-init", "init", "early-fs", "fs", "post-fs", "early-boot", "boot" … Android Platform Anatomy Android Init
  • 28. 28 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Init: Summary
  • 29. 29 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Graphics Layer Graphics Layer
  • 30. 30 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Graphics: Theory of Operations
  • 31. 31 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Surface Composition: Theory of Operations
  • 32. 32 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Surface Composition: Theory of Operations
  • 33. 33 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Graphics Detailed SW Architecture (1/2)
  • 34. 34 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Graphics Detailed SW Architecture (2/2)
  • 35. 35 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Originally meant for GPU memory, but not only anymore ! • Implements libhardware/include/hardware/gralloc.h • (Un)register and (un)lock memory buffers. • Usually consist of contiguous memory (flag GRALLOC_USAGE_FORCE_CONTIGUOUS) for DMA operations. • Jelly Bean now uses triple-buffer for framebuffer. • Support different kind of buffers: Android Platform Anatomy (GPU) Memory Management: Gralloc - GLES texture - GLES render surface - 2D HW blitter - HWComposer - Framebuffer - HW video encoder - Input HW camera pipeline - Output HW camera pipeline.
  • 36. 36 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Create a custom bootanimation.zip archive: • In BoardConfig.mk: - PRODUCT_COPY_FILES += device/company/my_device/bootanimation.zip:system/media/bootanimation.zip • Note: Create the archive _WITHOUT_ compression !! - => zip -0 Android Platform Anatomy Custom Boot Logo
  • 37. 37 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Hack over frameworks/base/cmds/bootanimation: - Preloads the whole ZIP archive image files at once - Use an OpenGL|ES texture cache - Bootanimation doesn’t stutter anymore ! - => See patchset on http://goo.gl/f1Lc4 (CyanogenMod) • Hack over BoardConfig.mk: Android Platform Anatomy Enhanced Boot Animation
  • 38. 38 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Input Layer Input Layer
  • 39. 39 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Input Layer Architecture
  • 40. 40 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Contains device-specific configuration properties that affect the behavior of input devices. • Optional for standard peripherals such as HID keyboard and mouse. • Mandatory for built-in embedded devices such as touch screens. • Location: - Located by USB vendor, product (and optionally version) id or by input device name. - The following paths are consulted in order: Android Platform Anatomy Input Device Configuration Files (.idc)
  • 41. 41 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Add ${driver_name}.idc to system: - In device.mk, add: - PRODUCT_COPY_FILES += device/company/my_device/${driver_name}.idc:system/usr/idc/${driver_name}.idc • Example of ${driver_name}.idc: Android Platform Anatomy Touchscreen Device Configuration File
  • 42. 42 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Audio Layer Audio Layer
  • 43. 43 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Audio SW Architecture
  • 44. 44 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Audio SW Architecture
  • 45. 45 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Audio SW Architecture
  • 46. 46 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Audio HAL Define Android framework supported input/output devices Private API implementation Turn on ALSA driver control name
  • 47. 47 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Audio Policy (/etc/audio_policy.conf) List supported sampling rates, formats, devices … for each audio.<module>.so
  • 48. 48 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Multimedia Layer Multimedia Layer
  • 49. 49 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Multimedia Layer
  • 50. 50 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Multimedia Detailed SW Architecture
  • 51. 51 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy StageFright SW Architecture (1/2)
  • 52. 52 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy StageFright SW Architecture (2/2)
  • 53. 53 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Network Layer Network Layer
  • 54. 54 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Low-level kernel drivers work just like a charm up to Linux user-space. • For Java apps connectivity, each connection type must register a specific ConnectivityManager and associated ConnectivityService that handles device configuration, packet routing and HTTP(S) proxy settings. Android Platform Anatomy Network & Connectivity
  • 55. 55 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Android Platform Anatomy Conclusion Conclusion
  • 56. 56 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Android SW architecture is ages away from your GNU/Linux experience. - Low-level drivers are Linux-compatible but that’s pretty much all about it. - One need trained experts to bring Android devices to life. • Android provides a HAL that unifies hardware interfaces. - Facilitate device porting. - But terribly lacks of documentation (same goes for the whole platform). • Porting devices to Android is an extremely complex task. - But it makes application developers happy by providing them a (nearly) seamless experience across all devices. Android Platform Anatomy Conclusion
  • 57. 57 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Thank You Android Platform Anatomy Thanks