AOSP Embedded und AAOS Training
Im Rahmen dieses Trainings tauchen wir tief in die Funktionalitäten des AOSP ein und betrachten den gesamten Stack, einschließlich der Car Services und Vehicle HALs.

Auf einen Blick
Rahmendaten
- 3 Tage praxisorientiertes Training
- remote oder vor Ort
Zielgruppe
- Linux Embedded oder System Entwickler:innen
- Android (System) Entwickler:innen
- Tester:innen, Integrator:innen mit Linux-Embedded-Erfahrung
Anwendungsbeispiele
- AOSP Source Code – Download, Navigieren und Bauen
- Erstellen neuer Produktvarianten
- Arbeiten mit adb,logcat und Beschleunigen des Entwicklungszyklus
- Umsetzen System Service, AIDL und HAL
- Arbeiten mit und Integration von Android Applikation (Apps)
- Analysieren von Android Security, Permissions und SELinux
- Arbeiten mit dem AAOS Emulator und Vehicle Properties (VHAL)
Beschreibung
Android ist weitaus mehr als ein Betriebssystem für Smartphones. Als Grundlage des Android Open Source Projects (AOSP) dient es als vielseitige Basis für eine breite Palette von Anwendungen. Das AOSP zeichnet sich insbesondere durch die Bereitstellung einer Basisplattform für ein offenes Ökosystem aus, das die Integration von Anwendungen von Drittanbietern ermöglicht.
Das AOSP verfügt bereits über einen ausgereiften und umfassend getesteten Technologie-Stack. Von Konnektivität und Multimedia bis hin zu hoch entwickelten Sicherheitsmechanismen und einer geschützten Laufzeitumgebung für Anwendungen von Fremdanbietern ist alles vorhanden. Dadurch kann sich die eigene Entwicklung auf die Kernaspekte des Geschäftsmodells konzentrieren, anstatt auf die Plattform selbst. Dies erweist sich insbesondere für die Automobilindustrie als äußerst interessant.
Im Rahmen des Trainings tauchen wir tief in die Funktionalitäten des AOSP ein und betrachten den gesamten Stack, einschließlich der Car Services und Vehicle HALs. Wir zeigen, wie und an welchen Stellen eigene Anpassungen oder Services integriert werden können, wie eine individuelle Produktvariante definiert wird und wie eigene Emulatoren erstellt werden, um Anpassungen zu testen. Durch zahlreiche praxisnahe Übungen, die von realen Projektanforderungen inspiriert sind, bietet das Training einen komfortablen Einstieg in die komplexe Systementwicklung des AOSP. Es besteht jederzeit die Möglichkeit, sich auszutauschen, Fragen zu stellen und Einfluss auf die Inhalte des Trainings zu nehmen.
Voraussetzungen
- gute Kenntnisse in C und C++
- grundlegende Kenntnisse in Java
- gutes Grundverständnis der Linux System Interna
- sicherer Umgang mit den Linux Commandline Tools und git
- Eigener Laptop mit Betriebssystem Microsoft Windows, MacOS oder Linux
- Wifi bzw. Internetzugang in den Schulungsräumen (vorhanden, wenn Training bei inovex stattfindet)
Agenda
Tag 1
- Einführung
- Ein Überblick über das AOSP
- AOSP und Android
- Systemarchitektur, Apps, privilegierte Apps und System-Apps
- Framework, Runtime, HAL, Kernel, CTS, VTS und Google Mobile Services (GMS)
- Build-Dateien, Dateisystem-Layout und Partitionen
- AOSP und Android als Ökosystem
- AOSP-Build-Systeme
- Build-Befehle und Tooling, lunch, lunch targets, Build-Varianten
- Core build makefiles, ninja, soong, kati
- Ursprünge des Android-Build-Systems
- Eine kurze Einführung in AAOS
- Google und Automotive, Android Automotive Operating System (AAOS)
- Unterschied zwischen Android Auto, AOSP und AAOS
- Google Automotive Services (GAS) und Alternativen, COVESA
- Vorteile der AAOS-Plattform, Google-Abhängigkeit
Tag 2
- Das Android-Framework
- Verschiedene Arten von APIs, public/SDK, @hide, @SystemAPI
- Android-Laufzeit und Activity Lifecycle, Native Development Kit
- Bionic, Native-Dienste, adb, logcat/logd
- Binder, AIDL, SystemServer, APIs und Manager
- Android-Boot-Prozess
- Booten vom SoC/ROM-Code zum Launcher
- Verified Boot und Secure Boot, A/B-Partitionslayout
- init system, rc-files und zygote
- Die Hardware-Abstraktionsschicht
- HAL, legacy HALs, Project Treble
- AIDL, HIDL, stableAIDL
- Generic Kernel Image (GKI) und Vendor Kernel Modules
- Generic System Image (GSI), SSI
Tag 3
- Das Android Automotive OS (AAOS)
- Car Manager, Car Services und Car Permissions, Vehicle Properties
- Multi User System, Vehicle HAL
- AAOS Architektur, Power States
- Vehicle HAL, CarWatchDog, Boot process,
- Extended View System (EVS)
- Security Mechanisms in Android
- App, Sandboxing, Android Permissions und verschiedene Typen
- Drittanbieter-, System- und privilegierte Apps und App-Signierung
- Android Verified Boot (AVB), Secure Boot und Verschlüsselung
- TrustZone und Trusty OS
- Sicherheitsupdates
- Integration neuer Hardware in AOSP/AAOS
- Treiber, Produkte, HAL
- Zusammenfassung/Anhang/Fragen
Typische Fragen, die wir beantworten:
- Wie entwickelt man ein eigenes Betriebssystem auf Basis des AOSP für sein Produkt?
- Wie sieht der Entwicklungs-Workflow aus?
- Wie integriert man zusätzliche Hardwarekomponenten in das AOSP und stellt sie mit einer API den Applikations-Entwickler:innen zur Verfügung?
- Wie verwendet man einen Emulator für die Entwicklung ohne Hardware?
- Wie kann das AAOS (Android Automotive Operating System) an das eigene Produkt angepasst werden?
- signiertes Teilnahmezertifikat
- erfahrene Trainer:innen
- kleine Trainingsgruppen
Die nächsten Termine im Überblick
Warum inovex Academy?
Unser AngebotDie inovex Academy hat es sich zur Aufgabe gemacht, Wissen über Methoden und Technologien weiterzugeben, die wir in unseren Projekten bereits erfolgreich einsetzen.
Offener Erfahrungsaustausch
In unseren offenen Trainings legen wir großen Wert auf den Erfahrungsaustausch unter Gleichgesinnten. Lernen Sie von und mit anderen Expert:innen.
Kuratierte Inhalte
Alle Trainingsinhalte sind sorgfältig ausgewählt, um den bestmöglichen Lerneffekt zu erzielen und möglichst viele Inhalte zu vermitteln.
Praxiserfahrene Trainer:innen
Unsere Trainer:innen kommen aus der Praxis und haben viele der vermittelten Inhalte schon in ihrer täglichen Arbeit erprobt und erfolgreich angewendet.
Trainer:innen
Unsere Trainer:innen sind praxiserprobte Expert:innen in ihren Leistungsbereichen. Durch ihren Einsatz in Projekten bauen sie Tag für Tag ihr Wissen aus und vermitteln dieses Know-how in ihren Trainings weiter – anwendungsbezogen und praxisorientiert.

Anna-Lena Marx

Stefan Lengfeld
Stefan Lengfeld arbeitet seit 2017 als Embedded Linux und Embedded Android Entwickler bei inovex. Seit 2015 ist er Linux Kernel Contributor und beschäftigt sich beruflich mit allen Themen rund um Embedded Software Entwicklung. Schon davor tauchte er in den Untiefen von Linux und OpenSource ab, aber seit den letzten Jahren ist der Linux- und Android Graphics Stack seine große Leidenschaft.

Stefan Kratochwil

Florian Franzmann


Florian Münchbach

David Zerulla
David Zerulla ist seit 2017 als Backend- und Embedded-Entwickler für Android und Linux bei inovex tätig. In dieser Zeit hat er vielseitige Projekte realisiert – von der Integration von Sensorhardware in Android über die Entwicklung und Integration verschiedener Services ins AOSP (Android Open Source Project) bis hin zur Umsetzung von Cloud-Backends für IoT-Anwendungen in Go.

Matthias Blankertz
Matthias Blankertz entwickelt seit 2017 Embedded Software und sammelt Erfahrung mit komplexen Linux-Systemen, Echtzeitbetriebssystemen und Bare-Metal-Anwendungen und arbeitet als Embedded Linux Entwickler bei inovex . Sein Fokus liegt auf der Lösung technischer Herausforderungen, wobei er seine Softwarekenntnisse mit praktischem Hardware-Software-Codesign und soliden Elektronik-Grundlagen verbindet, um durchdachte und gleichzeitig effiziente Lösungen zu finden.
Häufig gestellte Fragen
Welche Vorteile bietet das AOSP und was lernen die Teilnehmenden im AOSP Embedded und AAOS Training?
Was ist der Unterschied zwischen AAOS und AOSP?
Wie ist das Training strukturiert und für wen ist es geeignet?
Wer sind die Trainer:innen des Trainings?
Welche Voraussetzungen gibt es für die Teilnahme?
Ergänzende Informationen

Collin Rogowski
Head of inovex Academy