Embedded Android + Automotive
Android Automotive is a version of Android tailored for In-Vehicle Infotainment (IVI) – navigation, vehicle status, audio, and more. The source code for Android Automotive is available as part of the Android Open Source Project (AOSP), on which this course is based.
The first part of the course gives a detailed background on the Android operating system, following the same curriculum as the Tech Support Embedded Android course. In this section, you will learn how to build Android from source and flash the system images using fastboot. You will learn about the Android security framework and SELinux policy. There are modules on how SurfaceFlinger renders graphics for various displays, and on the all-important topic of debugging and profiling the final system. All code and examples are based on Android version 8.1 "Oreo" and covers the new hardware abstraction layers introduced in Project Treble.
Once the ground work is in place, the later topics show how the services and features that are part of Android Automotive provide the framework for an IVI system. You will begin by building Android Automotive from AOSP and then see how it integrates with vehicle networks, such as CAN bus, via the Vehicle HAL. You will also find out about the new Exterior View System which ensures the video stream from the exterior cameras is presented to the driver within 2 seconds of booting the device. Roughly half of the course is taken by hands-on lab sessions during which you will apply the theory to create an embedded Android device.
This course is ideal for system architects, engineers and project leaders who want to know how Android works, and how to customize and extend the platform
Good knowledge C/C++ and Java
Familiarity with Linux development and command-line tools
All students will receive:
An essential part of the training are the lab sessions, which take approximately 50% of the time. You will need a laptop or desktop to run the system development tools. We will provide a bootable USB hard drive with an appropriate version of Linux and cross tool-chain so there is no need to install Linux beforehand.
Introduction to Android
Creating a new product
Android-specific changes to Linux
Learning how the bootloader starts Android
The Android build system
The Hardware Abstraction layer
Testing; CTS and VTS
The Android framework
Debugging and profiling
The Car API
The Vehicle HAL
The Exterior View System