Android Embedded
Webinar
Dominik Helleberg
Head of mobile development
Speaker
Dominik Helleberg
Mobile Development
Android / Embedded
Tools
http://dominik-helleberg.de/+
Android (2013)
Android: Nummer eins der mobilen Betriebssysteme
1.5 Millionen Aktivierungen täglich (Larry Page, 17.10.2013)
1 Milliarde aktivierte Geräte (Sundar Pichai, 03.09.2013)
Android (2014)
Android: Nummer eins der mobilen Betriebssysteme
1 billion active Android users per month (Pichai, 06/2014)
Google Devices http://developer.android.com/design/devices.html
Android Auto http://developer.android.com/design/auto/index.html
Android
Android: Nummer eins der mobilen Betriebssysteme (Smartphones)
https://twitter.com/Arubin/status/27808662429
Android Embedded
Android ist modern und “anders”
Android Embedded
Tablets
Amazon http://www.amazon.de/dp/B00KQNUZ9M
Tolino http://www.tolino.de
Android Embedded
Kameras
Nikon http://www.nikon.de/de_DE/product/digital-cameras/coolpix/style/coolpix-s800c
Samsung http://www.samsung.com/de/promotions/galaxycamera/
Android Embedded
Glasses
Google Glass http://www.google.com/glass/start/
Recon Instruments Snow2 http://www.reconinstruments.com/products/snow2/
Android Embedded
Smartwatches / Wear
Samsung Gear Live https://play.google.com/store/devices/details?id=samsung_gear_live_black
Neptune Pine http://www.neptunepine.com/
LG-G Watch https://play.google.com/store/devices/details?id=lg_g_watch_black
Moto 360 http://www.motorola.de/consumers/moto360-de/Moto-360/moto-360-de.html
Android Embedded
Mobility
Android Auto http://www.android.com/auto/
Renault R-Link http://www.renault.de/renault-modellpalette/multimedia/r-link-wall/
Boing 787 http://www.boeing.com/boeing/commercial/787family/
Honda http://www.golem.de/news/honda-connect-nvidias-tegra-faehrt-mit-android-in-japan-1410-109590.html
Android Embedded
Home
LG Kühlschrank http://www.lg.com/us/refrigerators/lg-LFX31995ST-french-3-door-refrigerator
Ouya http://ouya.tv
AndroidTV http://developer.android.com/tv/index.html
Amazon Fire TV http://www.amazon.com/Fire-TV-streaming-media-player/dp/B00CX5P8FC
Android Embedded
Industry
ADLink IMX-2000 http://www.adlinktech.com/PD/web/PD_detail.php?cKind=&pid=1229
Honeywell http://goo.gl/hyJXWf
Casio EPOS http://goo.gl/k9L3V6
Motorola MC3200 http://goo.gl/5dOVL7
http://e.ubmelectronics.com/2013EmbeddedStudy/index.html
Android Embedded
http://e.ubmelectronics.com/2013EmbeddedStudy/index.html
Android Embedded
Embedded Touch-UI
Die Realität
http://commons.wikimedia.org/wiki/File:Helvar_Touchscreen_924.jpg
Embedded Touch-UI
Die Realität
Embedded Touch-UI
Die Realität
Embedded Touch-UI
Die Realität
Embedded Touch-UI
Die Lösung?
Android Open Source Projekt
Vorteile
User Interface
http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/
Android Open Source Projekt
Vorteile
Powered by Google
http://www.google.com/design/spec/material-design/introduction.html#
https://www.youtube.com/watch?v=EBlTzQsUoOw
http://www.anandtech.com/show/8231/a-closer-look-at-android-runtime-art-in-android-l
http://arstechnica.com/gadgets/2014/07/examining-project-volta-we-put-android-l-through-our-battery-test/
Android Open Source Projekt
Vorteile Weiterentwicklung
https://plus.google.com/u/0/104162817526798820937/posts/UVXbWmxWvBh
https://www.openhub.net/p/platform_art
Android Open Source Projekt
Vorteile Weiterentwicklung
http://www.google.com/design/spec/material-design/introduction.html
Android Open Source Projekt
Vorteile Weiterentwicklung
Video
Android Open Source Projekt
Vorteile
Tooling
Android Open Source Projekt
Vorteile
Hardware Acceleration “builtin”
Canvas API
Views
Application
OpenGL ES
libHWUI SKIA
SurfaceFlinger
Android Open Source Projekt
Vorteile - HAL
SystemService
Application
locationManager = (LocationManager)
this.getSystemService(Context.LOCATION_SERVICE);
private final ILocationManager mService;
Manager
Interface
void requestLocationUpdates( in LocationRequest request,
in ILocationListener listener,
in PendingIntent intent,
String packageName);
Manager
Service
HAL / native
private native boolean native_start();
typedef struct {
/** Starts navigating. */
int (*start)( void ); }
Android Open Source Projekt
Vorteile
Getrennte Embedded / App Entwicklung
Android Framework
Java / C / C++
App / Frontend / Business Logik
(Java)
Native / Treiber
Kernel
C / C++
Android Open Source Projekt
Architektur
Stock Apps
Framework / API
User Apps
Java
System Services
Dalvik / ART / Runtime / Zygote
Kernel
Libs HAL Init
Android Open Source Projekt
Architektur - Source
Stock Apps
Framework / API
User Apps
Java
System Services
Dalvik / ART / Runtime / Zygote
Kernel
Libs HAL Init
https://android.googlesource.com/
Ein BSP für alles: Build Targets
● Firmware for production/debug
(extern: Kernel, Bootloader)
● Emulator
● Custom SDK / SDK Addons
● Embedded Android as a Platform
Android Embedded
Vorteile
● Firmware Updates:
● komplett
● incrementel / delta (inc. Kernel, Bootloader)
● Digitale Signaturen
Ein BSP für alles: Releasetools
Android Embedded
Vorteile
● Board Configuration
○ Hardware Konfiguration
■ Partitionierung
■ Boot-Adressen
○ Architektur
○ Firmware (Bootloader, Kernel…)
Buildsystem inkl. Produktlinien- und
Variantenmanagement
Android Embedded
Vorteile
Buildsystem inkl. Produktlinien- und
Variantenmanagement
ereader-BoardConfig.mk
fsl-BoardConfigCommon.mk
fsl-omx.mk fsl-codec.mkfsl-gpu.mk
Android Embedded
Vorteile
● Product Configuration
○ Gerätenamen, Hersteller etc.
○ System Apps
○ System Module
■ Shared Libraries
■ Vorinstallierte Daten
○ Lokalisierung
Buildsystem inkl. Produktlinien- und
Variantenmanagement
Android Embedded
Vorteile
Buildsystem inkl. Produktlinien- und
Variantenmanagement
imx50_rpd.mk
ereader.mk imx5x.mk
language_small.mkgeneric_no_telephony.mk
core.mk
Android Embedded
Vorteile
Android Embedded
Tolino Shine
● Freescale BSP (Android 2.3.3)
● EPD Patches
● 7 GB Source (Build ~ 45 Minuten)
● Designanpassung an EPD
● Recovery / Updateprozess
● Angepasstes USB Verhalten
● Batterielaufzeit / Bootzeit
“You can change everything...
…Maybe you shouldn‘t “
Android Embedded
Vorteile: Android Plattform
● klare Lizenzierung (Apache V2, GPL V3)
● bestehendes KnowHow (Android / Linux / Java)
● große Entwickler-Community (Custom ROMs)
● Applikations & GUI Entwicklung in Java
● zunehmende Auswahl an günstiger, touch-basierter
Hardware
● industry proven
● responsive UI “builtin”
Android Embedded
Vorteile: Kernel
● ARM SoCs Hersteller fokussiert auf Android
● sehr große Entwickler Community
● Treiber mit externen Abhängigkeiten möglich
● Android Kernel ist Standard für ARM BSPs
● Zusammenarbeit Android/Linux Kernel community
● Auch Nicht-Android Plattformen arbeiten mit dem Android
Kernel: WebOS, FirefoxOS, Ubuntu Phone
Android Embedded
Herausforderungen Plattform
● auf smart Devices optimiert
● Abweichungen vom "Vanilla" Linux
(Bionic, Kernel, Filesystem Layout, etc.)
● Hohe Innovationsrate -> schnelle Releases, keine Roadmap
● Google Plattform
● Dokumentation...
Herausforderungen Plattform
Android Embedded
Herausforderungen Plattform cont.
Herausforderungen Plattform
Android Embedded
Herausforderungen Plattform, cont.
Android Embedded
Herausforderungen Plattform / App
● hohe Hardwareanforderungen
● UI zentriert
● Realtime ?
● Robustheit: uptime, watchdog, etc.
● kein Store, keine Play Services
● UI Entwicklung ist nicht Enterprise Java
● Ansprüche an UI und UX sind hoch
Android Embedded
Weiterführende Literatur
http://www.oreilly.de/catalog/9781449308292/index.html
http://www.pearsonhighered.com/educator/product/Modern-Operating-Systems/9780133591620.page
Kontakt
Dominik Helleberg
http://dominik-helleberg.de/+
Mail: dominik.helleberg@inovex.de
Vielen Dank für Ihre Aufmerksamkeit!

Android Embedded - Einführung in Android als Embedded-Plattform