Android Embedded - Einführung in Android als Embedded-Plattform
-
Upload
inovex-gmbh -
Category
Technology
-
view
150 -
download
3
Transcript of Android Embedded - Einführung in Android als Embedded-Plattform
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 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://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
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...
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!