Suche senden
Hochladen
Droidcon 2013 France - Android Platform Anatomy
•
8 gefällt mir
•
3,308 views
Benjamin Zores
Folgen
Technologie
Diashow-Anzeige
Melden
Teilen
Diashow-Anzeige
Melden
Teilen
1 von 59
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets Ansible
CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets Ansible
Benjamin Zores
ABS 2014 - Android Kit Kat Internals
ABS 2014 - Android Kit Kat Internals
Benjamin Zores
ABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded Systems
Benjamin Zores
Droidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded Systems
Benjamin Zores
ABS 2013: Android Jelly Bean Device Porting Walkthrough
ABS 2013: Android Jelly Bean Device Porting Walkthrough
Benjamin Zores
ABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting Walkthrough
Benjamin Zores
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new Platforms
Linaro
Reducing the boot time of Linux devices
Reducing the boot time of Linux devices
Chris Simmonds
Empfohlen
CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets Ansible
CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets Ansible
Benjamin Zores
ABS 2014 - Android Kit Kat Internals
ABS 2014 - Android Kit Kat Internals
Benjamin Zores
ABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded Systems
Benjamin Zores
Droidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded Systems
Benjamin Zores
ABS 2013: Android Jelly Bean Device Porting Walkthrough
ABS 2013: Android Jelly Bean Device Porting Walkthrough
Benjamin Zores
ABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting Walkthrough
Benjamin Zores
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new Platforms
Linaro
Reducing the boot time of Linux devices
Reducing the boot time of Linux devices
Chris Simmonds
Droidcon uk2012 androvm
Droidcon uk2012 androvm
dfages
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 eSDK
Marco Cavallini
Android OTA updates
Android OTA updates
Gary Bisson
Tuning Android for low RAM
Tuning Android for low RAM
Chris Simmonds
Embedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphone
Chris Simmonds
Android beyond the smartphone
Android beyond the smartphone
Chris Simmonds
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019
Marco Cavallini
Android crash debugging
Android crash debugging
Ashish Agrawal
What & How to Customize Android?
What & How to Customize Android?
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
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 Linux
Chris Simmonds
Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019
Chris Simmonds
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot images
Chris Simmonds
Read-only rootfs: theory and practice
Read-only rootfs: theory and practice
Chris Simmonds
Android OS Porting: Introduction
Android OS Porting: Introduction
Jollen Chen
Is Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VI
Opersys inc.
Jonathan Corbet - Keynote: The Kernel Report
Jonathan Corbet - Keynote: The Kernel Report
linuxlab_conf
Linux day 2016 Yocto Project
Linux day 2016 Yocto Project
Marco Cavallini
Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013
Opersys inc.
ELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
ELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
Benjamin Zores
Extending Android with New Devices
Extending Android with New Devices
Shree Kumar
Weitere ähnliche Inhalte
Was ist angesagt?
Droidcon uk2012 androvm
Droidcon uk2012 androvm
dfages
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 eSDK
Marco Cavallini
Android OTA updates
Android OTA updates
Gary Bisson
Tuning Android for low RAM
Tuning Android for low RAM
Chris Simmonds
Embedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphone
Chris Simmonds
Android beyond the smartphone
Android beyond the smartphone
Chris Simmonds
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019
Marco Cavallini
Android crash debugging
Android crash debugging
Ashish Agrawal
What & How to Customize Android?
What & How to Customize Android?
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
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 Linux
Chris Simmonds
Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019
Chris Simmonds
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot images
Chris Simmonds
Read-only rootfs: theory and practice
Read-only rootfs: theory and practice
Chris Simmonds
Android OS Porting: Introduction
Android OS Porting: Introduction
Jollen Chen
Is Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VI
Opersys inc.
Jonathan Corbet - Keynote: The Kernel Report
Jonathan Corbet - Keynote: The Kernel Report
linuxlab_conf
Linux day 2016 Yocto Project
Linux day 2016 Yocto Project
Marco Cavallini
Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013
Opersys inc.
Was ist angesagt?
(20)
Droidcon uk2012 androvm
Droidcon uk2012 androvm
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 eSDK
Android OTA updates
Android OTA updates
Tuning Android for low RAM
Tuning Android for low RAM
Embedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphone
Android beyond the smartphone
Android beyond the smartphone
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019
Android crash debugging
Android crash debugging
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)
Reducing boot time in embedded Linux
Reducing boot time in embedded Linux
Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot images
Read-only rootfs: theory and practice
Read-only rootfs: theory and practice
Android OS Porting: Introduction
Android OS Porting: Introduction
Is 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 Report
Linux day 2016 Yocto Project
Linux day 2016 Yocto Project
Android 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 Connectivity
Benjamin Zores
Extending Android with New Devices
Extending Android with New Devices
Shree 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...
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...
Opersys inc.
Working with the AOSP - Linaro Connect Asia 2013
Working with the AOSP - Linaro Connect Asia 2013
Opersys inc.
Android 4.2 Car Stereo Instructions Use Manual
Android 4.2 Car Stereo Instructions Use Manual
Auto pumkin
Andere mochten auch
(6)
ELCE 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 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...
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 2013
Android 4.2 Car Stereo Instructions Use Manual
Android 4.2 Car Stereo Instructions Use Manual
Ähnlich wie Droidcon 2013 France - Android Platform Anatomy
Bring Out the Best in Embedded Computing
Bring Out the Best in Embedded Computing
Qualcomm Developer Network
UplinQ - bring out the best in embedded computing
UplinQ - bring out the best in embedded computing
Satya 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, ...
Paris Open Source Summit
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
Arnav Gupta
Open source Android 10 on Orange Pi: Meth or Reality?
Open source Android 10 on Orange Pi: Meth or Reality?
GlobalLogic Ukraine
Android architechture
Android architechture
Yojana Nanaware
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
Arnav Gupta
Is Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon V
Opersys inc.
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
Android
Nishant Jain
Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011
pundiramit
Ubuntu phone engineering
Ubuntu phone engineering
Rex Tsai
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
BeMyApp
Containerizing Hardware Accelerated Applications
Containerizing Hardware Accelerated Applications
Docker, Inc.
Agnostic Device Drivers
Agnostic Device Drivers
Heiko Joerg Schick
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, Илья Лёвин
GDG Saint Petersburg
Introduction to android sessions new
Introduction to android sessions new
Joe Jacob
"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 Cloud
DevOps 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 Computing
UplinQ - 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, ...
Enhancing 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?
Android architechture
Android architechture
Enhancing 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 V
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 porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011
Ubuntu 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
Containerizing Hardware Accelerated Applications
Containerizing Hardware Accelerated Applications
Agnostic 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...
Android Meetup, Илья Лёвин
Android Meetup, Илья Лёвин
Introduction 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," ...
Flexible 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 Connectivity
Benjamin Zores
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
Benjamin Zores
Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux Framework
Benjamin Zores
ELCE 2010 - State Of Multimedia In 2010 Embedded Linux Devices
ELCE 2010 - State Of Multimedia In 2010 Embedded Linux Devices
Benjamin Zores
ELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media Center
Benjamin Zores
Fosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media Center
Benjamin Zores
Mehr von Benjamin Zores
(6)
ABS 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 Slow
Introduction 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 Devices
ELC 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 Center
Kürzlich hochgeladen
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 2024
The Digital Insurer
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Delhi 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 2024
Rafal Los
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
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 Developments
TrustArc
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Khem
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Delhi Call girls
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
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 Men
Delhi 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)
Finology 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 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 2024
Scaling 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 slide
Data 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?
TrustArc 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 CV
Boost 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 2024
Boost 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
How 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 Men
Slack 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 Processors
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 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
Jetzt herunterladen