“Android Embedded” meint den Einsatz der Android-Plattform außerhalb der klassischen Smartphone- und Tablet-Welt. Denn neben der rasanten Verbreitung von Android im Consumer-Bereich eröffnet die Plattform spannende Möglichkeiten im Embedded- oder IoT-Kontext. Android ist Open Source, hat ein stabiles Lizenz-Modell und eine robuste, moderne Architektur. Das System ist optimiert auf herausragende Grafik-Performance und hat ein solides Sicherheitskonzept. Es gibt also gute Gründe, sich dem Thema Android Embedded zu nähern und die Vor- und Nachteile zu verstehen. Diese Schritte gehen wir in diesem Webinar gemeinsam und vermitteln dabei unsere Praxis-Erfahrungen aus verschiedenen Android-Embedded-Projekten.
Speaker: Dominik Helleberg (inovex)
Infos zu unseren Leistungen im Bereich Android Embedded / Internet of Things: https://www.inovex.de/de/leistungen/mobile/internet-of-things/
3. 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)
4. 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
10. 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
11. 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
12. 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
27. Android Open Source Projekt
Vorteile
Hardware Acceleration “builtin”
Canvas API
Views
Application
OpenGL ES
libHWUI SKIA
SurfaceFlinger
28. 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 ); }
29. Android Open Source Projekt
Vorteile
Getrennte Embedded / App Entwicklung
Android Framework
Java / C / C++
App / Frontend / Business Logik
(Java)
Native / Treiber
Kernel
C / C++
30. Android Open Source Projekt
Architektur
Stock Apps
Framework / API
User Apps
Java
System Services
Dalvik / ART / Runtime / Zygote
Kernel
Libs HAL Init
31. 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/
32. 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
39. 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”
40. 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
41. 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...
44. 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