Android Embedded - Einführung in Android als Embedded Plattform

Werbung
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
Android Auto
http://developer.android.com/design/devices.html
http://developer.android.com/design/auto/index.html
Android
Android: Nummer eins der mobilen Betriebssysteme (Smartphones)
Android Embedded
Android ist modern und “anders”
https://twitter.com/Arubin/status/27808662429
Android Embedded
Tablets
Amazon
Tolino
http://www.amazon.de/dp/B00KQNUZ9M
http://www.tolino.de
Android Embedded
Kameras
Nikon
Samsung
http://www.nikon.de/de_DE/product/digital-cameras/coolpix/style/coolpix-s800c
http://www.samsung.com/de/promotions/galaxycamera/
Android Embedded
Glasses
Google Glass
Recon Instruments Snow2
http://www.google.com/glass/start/
http://www.reconinstruments.com/products/snow2/
Android Embedded
Smartwatches / Wear
Samsung Gear Live
Neptune Pine
LG-G Watch
Moto 360
https://play.google.com/store/devices/details?id=samsung_gear_live_black
http://www.neptunepine.com/
https://play.google.com/store/devices/details?id=lg_g_watch_black
http://www.motorola.de/consumers/moto360-de/Moto-360/moto-360-de.html
Android Embedded
Mobility
Android Auto
Renault R-Link
Boing 787
Honda
http://www.android.com/auto/
http://www.renault.de/renault-modellpalette/multimedia/r-link-wall/
http://www.boeing.com/boeing/commercial/787family/
http://www.golem.de/news/honda-connect-nvidias-tegra-faehrt-mit-android-in-japan-1410-109590.html
Android Embedded
Home
LG Kühlschrank
Ouya
AndroidTV
Amazon Fire TV
http://www.lg.com/us/refrigerators/lg-LFX31995ST-french-3-door-refrigerator
http://ouya.tv
http://developer.android.com/tv/index.html
http://www.amazon.com/Fire-TV-streaming-media-player/dp/B00CX5P8FC
Android Embedded
Industry
ADLink IMX-2000
Honeywell
Casio EPOS
Motorola MC3200
http://www.adlinktech.com/PD/web/PD_detail.php?cKind=&pid=1229
http://goo.gl/hyJXWf
http://goo.gl/k9L3V6
http://goo.gl/5dOVL7
Android Embedded
http://e.ubmelectronics.com/2013EmbeddedStudy/index.html
Android Embedded
http://e.ubmelectronics.com/2013EmbeddedStudy/index.html
Embedded Touch-UI
Die Realität
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 Lösung?
Android Open Source Projekt
Vorteile
User Interface
Android Open Source Projekt
Vorteile
Powered by Google
http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/
Android Open Source Projekt
Vorteile Weiterentwicklung
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
Video
http://www.google.com/design/spec/material-design/introduction.html
Android Open Source Projekt
Vorteile
Tooling
Android Open Source Projekt
Vorteile
Hardware Acceleration “builtin”
Application
Views
Canvas API
libHWUI
OpenGL ES
SurfaceFlinger
SKIA
Android Open Source Projekt
Vorteile - HAL
Application
SystemService
Manager
Interface
locationManager = (LocationManager)
this.getSystemService(Context.LOCATION_SERVICE);
private final ILocationManager mService;
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
App / Frontend / Business Logik
(Java)
Android Framework
Java / C / C++
Native / Treiber
Kernel
C / C++
Android Open Source Projekt
Architektur
Stock Apps
User Apps
Framework / API
Java
System Services
Dalvik / ART / Runtime / Zygote
Libs
HAL
Kernel
Init
Android Open Source Projekt
Architektur - Source
User Apps
Framework / API
Java
System Services
Dalvik / ART / Runtime / Zygote
Libs
HAL
Kernel
Init
https://android.googlesource.com/
Stock Apps
Android Embedded
Vorteile
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
Ein BSP für alles: Releasetools
● Firmware Updates:
● komplett
● incrementel / delta (inc. Kernel, Bootloader)
● Digitale Signaturen
Android Embedded
Vorteile
Buildsystem inkl. Produktlinien- und
Variantenmanagement
● Board Configuration
○ Hardware Konfiguration
■ Partitionierung
■ Boot-Adressen
○ Architektur
○ Firmware (Bootloader, Kernel…)
Android Embedded
Vorteile
Buildsystem inkl. Produktlinien- und
Variantenmanagement
ereader-BoardConfig.mk
fsl-BoardConfigCommon.mk
fsl-omx.mk
fsl-gpu.mk
fsl-codec.mk
Android Embedded
Vorteile
Buildsystem inkl. Produktlinien- und
Variantenmanagement
● Product Configuration
○ Gerätenamen, Hersteller etc.
○ System Apps
○ System Module
■ Shared Libraries
■ Vorinstallierte Daten
○ Lokalisierung
Android Embedded
Vorteile
Buildsystem inkl. Produktlinien- und
Variantenmanagement
imx50_rpd.mk
ereader.mk
imx5x.mk
generic_no_telephony.mk
core.mk
language_small.mk
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...
Android Embedded
Herausforderungen Plattform cont.
Android Embedded
Herausforderungen Plattform,
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
Vielen Dank für Ihre Aufmerksamkeit!
Kontakt
Dominik Helleberg
http://dominik-helleberg.de/+
Mail: [email protected]
Herunterladen