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

46
Android Embedded Webinar Dominik Helleberg Head of mobile development

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

Android Embedded

Webinar

Dominik HellebergHead 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.htmlAndroid Auto http://developer.android.com/design/auto/index.html

Deutsch oder Englisch?

Android Android: Nummer eins der mobilen Betriebssysteme (Smartphones)

https://twitter.com/Arubin/status/27808662429

Android EmbeddedAndroid ist modern und “anders”

Android EmbeddedTablets

Amazon http://www.amazon.de/dp/B00KQNUZ9MTolino http://www.tolino.de

Android EmbeddedKameras

Nikon http://www.nikon.de/de_DE/product/digital-cameras/coolpix/style/coolpix-s800cSamsung http://www.samsung.com/de/promotions/galaxycamera/

Android EmbeddedGlasses

Google Glass http://www.google.com/glass/start/Recon Instruments Snow2 http://www.reconinstruments.com/products/snow2/

Android EmbeddedSmartwatches / Wear

Samsung Gear Live https://play.google.com/store/devices/details?id=samsung_gear_live_blackNeptune Pine http://www.neptunepine.com/LG-G Watch https://play.google.com/store/devices/details?id=lg_g_watch_blackMoto 360 http://www.motorola.de/consumers/moto360-de/Moto-360/moto-360-de.html

Android EmbeddedMobility

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 EmbeddedHome

LG Kühlschrank http://www.lg.com/us/refrigerators/lg-LFX31995ST-french-3-door-refrigeratorOuya http://ouya.tvAndroidTV http://developer.android.com/tv/index.htmlAmazon Fire TV http://www.amazon.com/Fire-TV-streaming-media-player/dp/B00CX5P8FC

Android EmbeddedIndustry

ADLink IMX-2000 http://www.adlinktech.com/PD/web/PD_detail.php?cKind=&pid=1229Honeywell http://goo.gl/hyJXWfCasio EPOS http://goo.gl/k9L3V6Motorola 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-UIDie Realität

http://commons.wikimedia.org/wiki/File:Helvar_Touchscreen_924.jpg

Embedded Touch-UIDie Realität

Embedded Touch-UIDie Realität

Embedded Touch-UIDie Realität

Embedded Touch-UIDie Lösung?

Android Open Source ProjektVorteile

User Interface

http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/

Android Open Source ProjektVorteile

Powered by Google

http://www.google.com/design/spec/material-design/introduction.html#https://www.youtube.com/watch?v=EBlTzQsUoOwhttp://www.anandtech.com/show/8231/a-closer-look-at-android-runtime-art-in-android-lhttp://arstechnica.com/gadgets/2014/07/examining-project-volta-we-put-android-l-through-our-battery-test/

Android Open Source ProjektVorteile Weiterentwicklung

https://plus.google.com/u/0/104162817526798820937/posts/UVXbWmxWvBhhttps://www.openhub.net/p/platform_art

Android Open Source ProjektVorteile Weiterentwicklung

http://www.google.com/design/spec/material-design/introduction.html

Android Open Source ProjektVorteile Weiterentwicklung

Video

Android Open Source ProjektVorteile

Tooling

Android Open Source ProjektVorteile

Hardware Acceleration “builtin”

Canvas API

ViewsApplication

OpenGL ES

libHWUI SKIA

SurfaceFlinger

Android Open Source ProjektVorteile - 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 ProjektVorteile

Getrennte Embedded / App Entwicklung

Android FrameworkJava / C / C++

App / Frontend / Business Logik(Java)

Native / TreiberKernelC / C++

Android Open Source ProjektArchitektur

Stock Apps

Framework / API

User Apps

JavaSystem Services

Dalvik / ART / Runtime / Zygote

Kernel

Libs HAL Init

Android Open Source ProjektArchitektur - Source

Stock Apps

Framework / API

User Apps

JavaSystem 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 EmbeddedVorteile

● Firmware Updates:

● komplett

● incrementel / delta (inc. Kernel, Bootloader)

● Digitale Signaturen

Ein BSP für alles: Releasetools

Android EmbeddedVorteile

● Board Configuration

○ Hardware Konfiguration

■ Partitionierung

■ Boot-Adressen

○ Architektur

○ Firmware (Bootloader, Kernel…)

Buildsystem inkl. Produktlinien- und

Variantenmanagement

Android EmbeddedVorteile

Buildsystem inkl. Produktlinien- und

Variantenmanagement

ereader-BoardConfig.mk

fsl-BoardConfigCommon.mk

fsl-omx.mk fsl-codec.mkfsl-gpu.mk

Android EmbeddedVorteile

● Product Configuration

○ Gerätenamen, Hersteller etc.

○ System Apps

○ System Module

■ Shared Libraries

■ Vorinstallierte Daten

○ Lokalisierung

Buildsystem inkl. Produktlinien- und

Variantenmanagement

Android EmbeddedVorteile

Buildsystem inkl. Produktlinien- und

Variantenmanagement

imx50_rpd.mk

ereader.mk imx5x.mk

language_small.mkgeneric_no_telephony.mk

core.mk

Android EmbeddedVorteile

Android EmbeddedTolino 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 EmbeddedVorteile: 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 EmbeddedVorteile: 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 EmbeddedHerausforderungen 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 EmbeddedHerausforderungen Plattform cont.

Herausforderungen Plattform

Android EmbeddedHerausforderungen Plattform, cont.

Android EmbeddedHerausforderungen 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 EmbeddedWeiterführende Literatur

http://www.oreilly.de/catalog/9781449308292/index.htmlhttp://www.pearsonhighered.com/educator/product/Modern-Operating-Systems/9780133591620.page

KontaktDominik Helleberg

http://dominik-helleberg.de/+Mail: [email protected]

Vielen Dank für Ihre Aufmerksamkeit!