SlideShare a Scribd company logo
1 of 26
Download to read offline
COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
1
Benjamin Zores
Droidcon 2013 – 17-18th June 2013 – Paris, FR
The Growth of Android
in Embedded Systems
2
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
The Growth of Android in Embedded Systems
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.
The Growth of Android in Embedded Systems
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.
The Growth of Android in Embedded Systems
The Android Operating System
The Android
Operating System
5
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Android Chronology
- Early development at Android Inc. in early 2000s.
- Android Inc. got purchased by Google in 2005 (not Linux-based at this time).
- Architecture revamping lead to HTC G1 first Android smartphone in 2008.
- You know the rest ;-)
• Android in Embedded Systems
- The industry is (fortunately) not only composed of smartphones and tablets ;-)
- 34% of embedded engineers are considering using Android in 2013.
- May sounds appealing for domestic use markets (STB, IVI …)
- Under the hood, Android however can be a burden for device manufacturers.
The Growth of Android in Embedded Systems
The Android Operating System
6
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
The Growth of Android in Embedded Systems
Releases History
7
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
The Growth of Android in Embedded Systems
Fragmentation (Jan. 2013)
Version Codename Distribution
1.6 Donut 0.2%
2.1 Eclair 2.4%
2.2 Froyo 9.0%
2.3 - 2.3.2
Gingerbread
0.2%
2.3.3 - 2.3.7 47.4%
3.1
Honeycomb
0.4%
3.2 1.1%
4.0.3 - 4.0.4 Ice Cream Sandwich 29.1%
4.1
Jelly Bean
9.0%
4.2 1.2%
Source © Google
8
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
The Growth of Android in Embedded Systems
A Life Without GNU
A Life
Without GNU
9
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Unique System and Software Architecture
- Android is based on modified Linux kernel and 200+ FOSS.
- There ends the ressemblance with any other embedded/desktop Linux distro.
- Redesign or replacement of fundamental building blocks
- Got rid of Glibc, X.org / Wayland, Busybox, PulseAudio, GStreamer, GTK / Qt …
• « Proprietary » Development Model
- Often referred to as « clopen » (for closed/open)
- NOT developed in a community way.
- Drop of the sources depends on Google’s willingness to share.
- Google got rid of (L)GPL in favor of Apache/MIT/BSD licenses.
- Safe solution for companies to build devices without fear of further legal complications.
The Growth of Android in Embedded Systems
A Life Without GNU
10
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
The Growth of Android in Embedded Systems
A Life Without GNU
• 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.
11
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Mobile-Targeted Kernel
- Google introduced several « Androidisms » to vanilla Linux kernel.
- Agressive Power Management Policy (WakeLocks, Early Suspend …)
- Desktop follows the « always-on » policy, Android does the opposite.
- Binder IPC Message Bus
• Java Framework
- Java is quite unpopular with embedded developers.
- Slow, resource consuming, hard to debug, heavy and complicated to deploy.
- Google introduced its own bytecode: Dalvik.
- Amazing Zygote app server:
- Framework (2000+ classes) is loaded once and for all in memory.
- Apps are spawned by Zygote with copy-on-write methods, optimizing resources usage.
The Growth of Android in Embedded Systems
A Life Without GNU
12
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
The Growth of Android in Embedded Systems
Dealing with Embedded Linux OS
Dealing with
Embedded Linux OS
13
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Embedded Linux available customizations can come in handy.
- Diversity of providers: Windriver, Montavista, Mentor Graphics …
- DIY OpenSource Embedded Frameworks:
The Yocto Project, OpenEmbedded, Buildroot, LTIB, OpenBricks …
- SoC vendors specific BSPs
- Mature solutions, allows you to suits your exact needs
- => But where to start from ??!
- => To which price ??
R&D efforts are spent on maintaining system instead of bringing values.
Android (while being forked by various groups) is unique.
Device manufacturers surely customize it but there’s only one
project you want to be compatible with,
and it’s actively maintained for you the Google way.
The Growth of Android in Embedded Systems
Dealing with Embedded Linux OS
14
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
The Growth of Android in Embedded Systems
Reasons for Android’s Attraction
Reasons for
Android’s Attraction
15
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Rich Application Framework
- GNU/Linux brings you choice to do things at your convenience.
- Android comes with a single stable long-term API and excellent SDK.
- Standardized ecosystem for apps developers and 3rd-party partners.
- Build apps once for multiple targets to drastically save costs and efforts.
• Aggressive Time-to-Market
- Stick to HW reference design, adapt the platform and
release your new device in a few months !
- Though far from being easy
- Requires Android-specific expertise and knowledge of the OS internals !
The Growth of Android in Embedded Systems
Reasons for Android’s Attraction
16
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Focus on « What Really Matters »
- Don’t you care about the platform and framework anymore.
- Board bring-up is time consuming and no one wants
to waste more time re-inventing yet another embedded distribution.
- Developers actually only focus on areas that add commercial value (i.e. apps)
• Open Source
- Android remains 100% tunable
- Though not developed in a community way.
- Provides companies a feeling of safety
regarding potential legal threats and licensing.
The Growth of Android in Embedded Systems
Reasons for Android’s Attraction
17
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
The Growth of Android in Embedded Systems
Under-the-Hood Culprits
Under-the-Hood
Culprits
18
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Standardization & Economy
- SoC development costs have grown in complexity and difficulty of integration
- => HW manufacturers only invest in volume-driven apps and customers.
- Vendors now feature Linux BSP only as an internal sandbox.
- Android drives market, hence engineering resources allocation.
- HW vendors don’t invest in Linux as much as they once did.
- Android HAL
- Specific to each Android release and platform API.
- Proprietary binary blobs prevents easy upgrade and/or ROM customization.
- => Customer often are forced to move to next-generation devices instead of upgrading SW :-(
The Growth of Android in Embedded Systems
Under-the-Hood Culprits
19
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Design Flaws
- Android uses many Open Source software but also reinvented the wheel
- => Mostly for licensing and convenience purpose.
- NOT Real-Time Capable (best effort is 1000Hz low-latency)
- => No PREEMPT_RT (proprietary user-space drivers makes it impossible).
- => Dalvik VM garbage collector pauses execution context.
- Terrible audio and multimedia architecture
- Lots of Java and JNI indirection calls makes it sloooooow … => latency issues
- Ages away from FFmpeg or GStreamer in terms of performances, hardware portability and codecs support.
- Castrated network and connectivity layer
- Can’t handle more than one input network connection at a time (one driver, one type, one interface).
- Adding things like Bluetooth, WiFi or basic Ethernet support is a nightmare for device manufacturers.
The Growth of Android in Embedded Systems
Under-the-Hood Culprits
20
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• A trade-off between performance and portability
- Appealing Java « write once, run everywhere » framework’s philosophy.
- Any serious performance-critical or multimedia app relies on
native C/C++ code being done through NDK, cutting down portability.
• The limits of « embedded »
- Originally designed for low-power and low-resource devices.
- Current devices feature 4-core Cortex-A9 (A15?), 32GB eMMC, 2GB RAM
- Starting with ICS, it becomes challenging running Android
with less than 512MB RAM and without OpenGLES-comaptible GPU.
- => Did Android raise the hardware requirement just a bit too high ?
The Growth of Android in Embedded Systems
Under-the-Hood Culprits
21
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
The Growth of Android in Embedded Systems
Conclusion
Conclusion
22
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Android has brought the Linux kernel to an incredible number of devices.
- More than a million devices being activated each day.
• Many manufacturers want Android on their device
- Sometimes just to follow the trend and be sure not to be left behind the market.
- Everybody surprisingly wants an app store (really … why ???)
• Paradoxically, Google has somehow slow down innovation:
- All devices look and do almost the same.
- To the extend of MMI and HW assembly quality.
The Growth of Android in Embedded Systems
Conclusion
23
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
• Embedded Linux remains the OS of choice for:
- Headless devices
- SOHO network equipements (routers, AP, servers …)
- Companies where engineers master Linux development for years.
- Devices where maximum performances are expected.
• Android makes perfect sense on devices:
- Featuring an LCD screen with touch-capable display.
- Intended to be apps-driven.
Android has brought to the market what GNU/Linux
misses the most: one single framework that allows application
developers to deal with every single part of the system.
The Growth of Android in Embedded Systems
Conclusion
24
COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
Thank You
The Growth of Android in Embedded Systems
Thanks
Droidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded Systems

More Related Content

What's hot

ABS 2013: Android Jelly Bean Device Porting Walkthrough
ABS 2013: Android Jelly Bean Device Porting WalkthroughABS 2013: Android Jelly Bean Device Porting Walkthrough
ABS 2013: Android Jelly Bean Device Porting WalkthroughBenjamin Zores
 
Debugging embedded devices using GDB
Debugging embedded devices using GDBDebugging embedded devices using GDB
Debugging embedded devices using GDBChris Simmonds
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphoneChris Simmonds
 
Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?Chris Simmonds
 
Reducing the boot time of Linux devices
Reducing the boot time of Linux devicesReducing the boot time of Linux devices
Reducing the boot time of Linux devicesChris Simmonds
 
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
 
Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019Chris Simmonds
 
Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017Chris Simmonds
 
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry PiRunning Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry PiChris Simmonds
 
Droidcon uk2012 androvm
Droidcon uk2012 androvmDroidcon uk2012 androvm
Droidcon uk2012 androvmdfages
 
Embedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphoneEmbedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphoneChris Simmonds
 
Userspace drivers-2016
Userspace drivers-2016Userspace drivers-2016
Userspace drivers-2016Chris Simmonds
 
Memory Management in TIZEN - Samsung SW Platform Team
Memory Management in TIZEN - Samsung SW Platform TeamMemory Management in TIZEN - Samsung SW Platform Team
Memory Management in TIZEN - Samsung SW Platform TeamRyo Jin
 
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processorUplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processorSatya Harish
 
A timeline for embedded Linux
A timeline for embedded LinuxA timeline for embedded Linux
A timeline for embedded LinuxChris Simmonds
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3Qualcomm Developer Network
 
Why you should use the Yocto Project
Why you should use the Yocto ProjectWhy you should use the Yocto Project
Why you should use the Yocto Projectrossburton
 
Quick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIOQuick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIOChris Simmonds
 
Quickboot on i.MX6
Quickboot on i.MX6Quickboot on i.MX6
Quickboot on i.MX6Gary Bisson
 

What's hot (20)

ABS 2013: Android Jelly Bean Device Porting Walkthrough
ABS 2013: Android Jelly Bean Device Porting WalkthroughABS 2013: Android Jelly Bean Device Porting Walkthrough
ABS 2013: Android Jelly Bean Device Porting Walkthrough
 
Debugging embedded devices using GDB
Debugging embedded devices using GDBDebugging embedded devices using GDB
Debugging embedded devices using GDB
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphone
 
Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?
 
Reducing the boot time of Linux devices
Reducing the boot time of Linux devicesReducing the boot time of Linux devices
Reducing the boot time of Linux devices
 
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)
 
Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019
 
Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017
 
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry PiRunning Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
 
Droidcon uk2012 androvm
Droidcon uk2012 androvmDroidcon uk2012 androvm
Droidcon uk2012 androvm
 
Embedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphoneEmbedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphone
 
Userspace drivers-2016
Userspace drivers-2016Userspace drivers-2016
Userspace drivers-2016
 
Memory Management in TIZEN - Samsung SW Platform Team
Memory Management in TIZEN - Samsung SW Platform TeamMemory Management in TIZEN - Samsung SW Platform Team
Memory Management in TIZEN - Samsung SW Platform Team
 
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processorUplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
 
A timeline for embedded Linux
A timeline for embedded LinuxA timeline for embedded Linux
A timeline for embedded Linux
 
Yocto Project - OSCON 7-17-2012
Yocto Project - OSCON 7-17-2012Yocto Project - OSCON 7-17-2012
Yocto Project - OSCON 7-17-2012
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
 
Why you should use the Yocto Project
Why you should use the Yocto ProjectWhy you should use the Yocto Project
Why you should use the Yocto Project
 
Quick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIOQuick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIO
 
Quickboot on i.MX6
Quickboot on i.MX6Quickboot on i.MX6
Quickboot on i.MX6
 

Similar to Droidcon 2013 france - The Growth of Android in Embedded Systems

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
 
Android Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and VersionsAndroid Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and Versionsindiangarg
 
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.
 
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.
 
Is Android the New King of Embedded OSes at Embedded World 2014
Is Android the New King of Embedded OSes at Embedded World 2014Is Android the New King of Embedded OSes at Embedded World 2014
Is Android the New King of Embedded OSes at Embedded World 2014Opersys inc.
 
An introduction on Android OS, its working and android development
An introduction on Android OS, its working and android developmentAn introduction on Android OS, its working and android development
An introduction on Android OS, its working and android developmentSanskar Saraf
 
An introduction on Android OS, its working and android development
An introduction on Android OS, its working and android developmentAn introduction on Android OS, its working and android development
An introduction on Android OS, its working and android developmentSanskar Saraf
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android Ranjith Kumar
 
A first look_at_google_android
A first look_at_google_androidA first look_at_google_android
A first look_at_google_androidThai Kt
 
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
 
Cross compiling android applications
Cross compiling android applicationsCross compiling android applications
Cross compiling android applicationssai krishna
 
Vijay android ppt
Vijay android pptVijay android ppt
Vijay android pptvijaymashre
 
Android
AndroidAndroid
Androidjobyxg
 

Similar to Droidcon 2013 france - The Growth of Android in Embedded Systems (20)

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
 
Android Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and VersionsAndroid Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and Versions
 
document
documentdocument
document
 
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
 
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
 
Introduction to Android.ppt
Introduction to Android.pptIntroduction to Android.ppt
Introduction to Android.ppt
 
Is Android the New King of Embedded OSes at Embedded World 2014
Is Android the New King of Embedded OSes at Embedded World 2014Is Android the New King of Embedded OSes at Embedded World 2014
Is Android the New King of Embedded OSes at Embedded World 2014
 
Android Os
Android OsAndroid Os
Android Os
 
An introduction on Android OS, its working and android development
An introduction on Android OS, its working and android developmentAn introduction on Android OS, its working and android development
An introduction on Android OS, its working and android development
 
Gl android platform
Gl android platformGl android platform
Gl android platform
 
Android presentation slide
Android presentation slideAndroid presentation slide
Android presentation slide
 
An introduction on Android OS, its working and android development
An introduction on Android OS, its working and android developmentAn introduction on Android OS, its working and android development
An introduction on Android OS, its working and android development
 
Android 1
Android 1 Android 1
Android 1
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android
 
A first look_at_google_android
A first look_at_google_androidA first look_at_google_android
A first look_at_google_android
 
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
 
Android.
Android.Android.
Android.
 
Cross compiling android applications
Cross compiling android applicationsCross compiling android applications
Cross compiling android applications
 
Vijay android ppt
Vijay android pptVijay android ppt
Vijay android ppt
 
Android
AndroidAndroid
Android
 

Recently uploaded

Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 

Recently uploaded (20)

Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 

Droidcon 2013 france - The Growth of Android in Embedded Systems

  • 1. COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Benjamin Zores Droidcon 2013 – 17-18th June 2013 – Paris, FR The Growth of Android in Embedded Systems
  • 2. 2 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. The Growth of Android in Embedded Systems 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. The Growth of Android in Embedded Systems 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. The Growth of Android in Embedded Systems The Android Operating System The Android Operating System
  • 5. 5 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Android Chronology - Early development at Android Inc. in early 2000s. - Android Inc. got purchased by Google in 2005 (not Linux-based at this time). - Architecture revamping lead to HTC G1 first Android smartphone in 2008. - You know the rest ;-) • Android in Embedded Systems - The industry is (fortunately) not only composed of smartphones and tablets ;-) - 34% of embedded engineers are considering using Android in 2013. - May sounds appealing for domestic use markets (STB, IVI …) - Under the hood, Android however can be a burden for device manufacturers. The Growth of Android in Embedded Systems The Android Operating System
  • 6. 6 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. The Growth of Android in Embedded Systems Releases History
  • 7. 7 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. The Growth of Android in Embedded Systems Fragmentation (Jan. 2013) Version Codename Distribution 1.6 Donut 0.2% 2.1 Eclair 2.4% 2.2 Froyo 9.0% 2.3 - 2.3.2 Gingerbread 0.2% 2.3.3 - 2.3.7 47.4% 3.1 Honeycomb 0.4% 3.2 1.1% 4.0.3 - 4.0.4 Ice Cream Sandwich 29.1% 4.1 Jelly Bean 9.0% 4.2 1.2% Source © Google
  • 8. 8 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. The Growth of Android in Embedded Systems A Life Without GNU A Life Without GNU
  • 9. 9 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Unique System and Software Architecture - Android is based on modified Linux kernel and 200+ FOSS. - There ends the ressemblance with any other embedded/desktop Linux distro. - Redesign or replacement of fundamental building blocks - Got rid of Glibc, X.org / Wayland, Busybox, PulseAudio, GStreamer, GTK / Qt … • « Proprietary » Development Model - Often referred to as « clopen » (for closed/open) - NOT developed in a community way. - Drop of the sources depends on Google’s willingness to share. - Google got rid of (L)GPL in favor of Apache/MIT/BSD licenses. - Safe solution for companies to build devices without fear of further legal complications. The Growth of Android in Embedded Systems A Life Without GNU
  • 10. 10 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. The Growth of Android in Embedded Systems A Life Without GNU • 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.
  • 11. 11 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Mobile-Targeted Kernel - Google introduced several « Androidisms » to vanilla Linux kernel. - Agressive Power Management Policy (WakeLocks, Early Suspend …) - Desktop follows the « always-on » policy, Android does the opposite. - Binder IPC Message Bus • Java Framework - Java is quite unpopular with embedded developers. - Slow, resource consuming, hard to debug, heavy and complicated to deploy. - Google introduced its own bytecode: Dalvik. - Amazing Zygote app server: - Framework (2000+ classes) is loaded once and for all in memory. - Apps are spawned by Zygote with copy-on-write methods, optimizing resources usage. The Growth of Android in Embedded Systems A Life Without GNU
  • 12. 12 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. The Growth of Android in Embedded Systems Dealing with Embedded Linux OS Dealing with Embedded Linux OS
  • 13. 13 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Embedded Linux available customizations can come in handy. - Diversity of providers: Windriver, Montavista, Mentor Graphics … - DIY OpenSource Embedded Frameworks: The Yocto Project, OpenEmbedded, Buildroot, LTIB, OpenBricks … - SoC vendors specific BSPs - Mature solutions, allows you to suits your exact needs - => But where to start from ??! - => To which price ?? R&D efforts are spent on maintaining system instead of bringing values. Android (while being forked by various groups) is unique. Device manufacturers surely customize it but there’s only one project you want to be compatible with, and it’s actively maintained for you the Google way. The Growth of Android in Embedded Systems Dealing with Embedded Linux OS
  • 14. 14 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. The Growth of Android in Embedded Systems Reasons for Android’s Attraction Reasons for Android’s Attraction
  • 15. 15 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Rich Application Framework - GNU/Linux brings you choice to do things at your convenience. - Android comes with a single stable long-term API and excellent SDK. - Standardized ecosystem for apps developers and 3rd-party partners. - Build apps once for multiple targets to drastically save costs and efforts. • Aggressive Time-to-Market - Stick to HW reference design, adapt the platform and release your new device in a few months ! - Though far from being easy - Requires Android-specific expertise and knowledge of the OS internals ! The Growth of Android in Embedded Systems Reasons for Android’s Attraction
  • 16. 16 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Focus on « What Really Matters » - Don’t you care about the platform and framework anymore. - Board bring-up is time consuming and no one wants to waste more time re-inventing yet another embedded distribution. - Developers actually only focus on areas that add commercial value (i.e. apps) • Open Source - Android remains 100% tunable - Though not developed in a community way. - Provides companies a feeling of safety regarding potential legal threats and licensing. The Growth of Android in Embedded Systems Reasons for Android’s Attraction
  • 17. 17 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. The Growth of Android in Embedded Systems Under-the-Hood Culprits Under-the-Hood Culprits
  • 18. 18 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Standardization & Economy - SoC development costs have grown in complexity and difficulty of integration - => HW manufacturers only invest in volume-driven apps and customers. - Vendors now feature Linux BSP only as an internal sandbox. - Android drives market, hence engineering resources allocation. - HW vendors don’t invest in Linux as much as they once did. - Android HAL - Specific to each Android release and platform API. - Proprietary binary blobs prevents easy upgrade and/or ROM customization. - => Customer often are forced to move to next-generation devices instead of upgrading SW :-( The Growth of Android in Embedded Systems Under-the-Hood Culprits
  • 19. 19 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Design Flaws - Android uses many Open Source software but also reinvented the wheel - => Mostly for licensing and convenience purpose. - NOT Real-Time Capable (best effort is 1000Hz low-latency) - => No PREEMPT_RT (proprietary user-space drivers makes it impossible). - => Dalvik VM garbage collector pauses execution context. - Terrible audio and multimedia architecture - Lots of Java and JNI indirection calls makes it sloooooow … => latency issues - Ages away from FFmpeg or GStreamer in terms of performances, hardware portability and codecs support. - Castrated network and connectivity layer - Can’t handle more than one input network connection at a time (one driver, one type, one interface). - Adding things like Bluetooth, WiFi or basic Ethernet support is a nightmare for device manufacturers. The Growth of Android in Embedded Systems Under-the-Hood Culprits
  • 20. 20 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • A trade-off between performance and portability - Appealing Java « write once, run everywhere » framework’s philosophy. - Any serious performance-critical or multimedia app relies on native C/C++ code being done through NDK, cutting down portability. • The limits of « embedded » - Originally designed for low-power and low-resource devices. - Current devices feature 4-core Cortex-A9 (A15?), 32GB eMMC, 2GB RAM - Starting with ICS, it becomes challenging running Android with less than 512MB RAM and without OpenGLES-comaptible GPU. - => Did Android raise the hardware requirement just a bit too high ? The Growth of Android in Embedded Systems Under-the-Hood Culprits
  • 21. 21 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. The Growth of Android in Embedded Systems Conclusion Conclusion
  • 22. 22 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Android has brought the Linux kernel to an incredible number of devices. - More than a million devices being activated each day. • Many manufacturers want Android on their device - Sometimes just to follow the trend and be sure not to be left behind the market. - Everybody surprisingly wants an app store (really … why ???) • Paradoxically, Google has somehow slow down innovation: - All devices look and do almost the same. - To the extend of MMI and HW assembly quality. The Growth of Android in Embedded Systems Conclusion
  • 23. 23 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. • Embedded Linux remains the OS of choice for: - Headless devices - SOHO network equipements (routers, AP, servers …) - Companies where engineers master Linux development for years. - Devices where maximum performances are expected. • Android makes perfect sense on devices: - Featuring an LCD screen with touch-capable display. - Intended to be apps-driven. Android has brought to the market what GNU/Linux misses the most: one single framework that allows application developers to deal with every single part of the system. The Growth of Android in Embedded Systems Conclusion
  • 24. 24 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Thank You The Growth of Android in Embedded Systems Thanks