AOSP Embedded and AAOS Training
As part of this training, we dive deep into the functionalities of the AOSP and look at the entire stack, including the Car Services and Vehicle HALs.
At a glance
General information
- 3-day practical training course
- Remote or on-premises
Target group
- Embedded Linux or Linux system developers
- Android (system) developers
- Software tester and integrator with Linux embedded experience
Application examples
- AOSP Sourcecode – Download, navigate and build
- Create new product variants
- Work with adb, logcat and speed up the development workflow
- Build System Service, work with AIDL und HAL
- Create and integrate Android Applications (Apps)
- Analyse Android Security, permissions und SELinux
- Work with the AAOS emulator and Vehicle Properties (VHAL)
Description
Android is much more than a smartphone operating system. As the core of the Android Open Source Project, it serves as a multifaceted basis for a wide range of applications. AOSP’s key feature is its function as a platform for an open ecosystem
which enables the integration of third-party applications. AOSP already has a mature, comprehensively tested technology stack. It includes everything from connectivity and multimedia right through to highly sophisticated security mechanisms and a protected runtime environment for third-party applications. This means that you can focus on the core aspects of your business model when creating custom developments, instead of on the platform itself. This concept is proving an extremely interesting one, particularly for the automotive industry.
During this training course, we will dive deep into the AOSP functionality and examine the entire stack, including the Car System Service and Vehicle HAL. We will demonstrate how and at which points your own customizations or services can be
integrated, how a custom product variant can be defined, and how you can create your own emulators in order to test your customizations. Through numerous practical examples, inspired by real-life project requirements, this training course provides an
accessible introduction to the complex AOSP system development. Participants will also have plenty of opportunity to exchange information, ask questions, and help to shape the course content.
Prerequisites
- Good knowledge of C and C++
- Basic knowledge of Java
- Basic understanding of Linux system internals
- Sound working knowledge of Linux command line tools and Git
- Own laptop with Microsoft Windows, MacOS or Linux operating system
- Wifi or Internet access in the training rooms (if training is not held in the inovex offices)
Agenda
Day 1
- Introduction
- An Overview of the AOSP
- AOSP and Android
- System Architecture, Apps, Privileged App and System Apps
- Framework, Runtime, HAL, Kernel, CTS, VTS and Google Mobile Services (GMS)
- Build files, filesystem layout and partitions
- AOSP and Android as an ecosystem
- AOSP Build Systems
- build commands and tooling, lunch, lunch targets, build variants
- core build makefiles, ninja, soong, kati
- Origins of the Android build system
- A Quick Introduction to AAOS
- Google and Automotive, Android Automotive Operating System (AAOS)
- Difference between Android Auto, AOSP and AAOS
- Google Automotive Services (GAS) and alternatives, COVESA
- AAOS platform benefits, Google dependency
Day 2
- The Android Framework
- Different types of APIs, public/SDK, @hide, @SystemAPI
- Android runtime and Activity Lifecycle, Native Development Kit
- bionic, native services, adb, logcat/logd
- Binder, AIDL, SystemServer, APIs and Managers
- Android Boot Process
- Booting from SoC/ROM code to the Launcher
- Verified Boot and Secure Boot, A/B partition layout
- init system, rc-files and zygote
- The Hardware Abstraction Layer
- HAL, legacy HALs, Project Treble
- AIDL, HIDL, stableAIDL
- Generic Kernel Image (GKI) and Vendor Kernel Modules
- Generic System Image (GSI), SSI
Day 3
- The Android Automotive OS (AAOS)
- AAOS Architecture, Power States
- Car Managers, Car Services and Car Permissions, Vehicle Properties
- Multi User System, Vehicle HAL
- Vehicle HAL, CarWatchDog, Boot process,
- Extended View System (EVS)
- Security Mechanisms in Android
- App, Sandboxing, Android Permissions and different types
- Third-Party, system and privileged Apps and App signing
- Android Verified Boot (AVB), Secure Boot and Encryption
- TrustZone and Trusty OS
- Security Updates
- Integration of new Hardware into the AOSP/AAOS
- Drivers, Products, HAL
- Wrap-Up/Appendix/Questions
Typical questions we answer:
- How do you develop your own operating system for your product based on AOSP?
- What does the development workflow look like?
- How do you integrate additional hardware components into AOSP and make them available to the application developers using an API?
- How to use an emulator for development without hardware?
- How can the AAOS (Android Automotive Operating System) be customized to your own products?
- signed certificate of participation
- in-house training
- Customization available (agenda, tech stack, language, etc.)
- small training groups
Trainers
Our trainers are field-tested experts in their areas of expertise. Through their work in projects, they expand their knowledge day by day and pass on this know-how in their trainings - application-oriented and practice-oriented.
Stefan Kratochwil
Florian Franzmann
David Zerulla
David Zerulla has been working as a backend and embedded developer for Android and Linux at inovex since 2017. During this time, he has realized a wide range of projects - from the integration of sensor hardware in Android to the development and integration of various services in the AOSP (Android Open Source Project) and the implementation of cloud backends for IoT applications in Go.
Matthias Blankertz
Matthias Blankertz has been developing embedded software since 2017, gaining experience with complex Linux systems, real-time operating systems and bare-metal applications, and works as an embedded Linux developer at inovex . His focus is on solving technical challenges, combining his software knowledge with practical hardware-software code design and solid electronics fundamentals to find well thought-out yet efficient solutions.
Christian Schabesberger
Why inovex Academy?
Our offerThe inovex Academy has set itself the task of passing on knowledge about methods and technologies that we already use successfully in our projects.
Curated content
Our trainers create a customized training offer based on your requirements.
Customizable tech stack
In exclusive trainings, we can consider your tech stack for the training content.
Individual assistance
If needed, we can tailor the training to a specific use case of your company and work directly based on your data.
Our training approach
From the needs analysis to the awarding of certificates, we offer customized training courses, flexibly designed and carried out according to your requirements.
If you are interested in in-house training, we will start by identifying your needs and discussing your objectives. This discussion forms the basis for an initial offer.
As soon as the framework data has been clarified, our trainers start adapting the training content. Many of our training courses have a modular structure and offer the opportunity to design the agenda flexibly. Training courses that prepare for certifications, on the other hand, are less flexible. Here, however, you can set the content focus according to your wishes.
You will receive all relevant information in advance of the training. The training will then take place in the room of your choice and at the agreed time. Our trainers will adapt to your requirements.
After completing the training, all participants receive a certificate confirming their participation. You will also have the opportunity to give us feedback on the content and the course. We are always happy to receive praise and suggestions for improvement.
Frequently Asked Questions
What advantages does the AOSP offer, and what do participants learn in the AOSP Embedded and AAOS training courses?
What is the difference between AAOS and AOSP?
How is the training structured and who is it suitable for?
Who are the trainers for the training?
What are the requirements for participation?
Supplementary information
Collin Rogowski
Head of inovex Academy