Global training solutions for engineers creating the world's electronics

Embedded Android for Automotive

Standard Level - 4 days


This course is available Live Online worldwide: View the Live Online full course description »


Auto manufacturers are integrating Android™ Automotive OS (AAOS) in their vehicles. Reduced development and maintenance costs, a full set of integrated media codecs, the availability of an app market, and a proven user interface are some factors driving the adoption of AAOS.

AAOS is a version of Android tailored for In-Vehicle Infotainment (IVI) – navigation, vehicle status, audio, and more. This course is based on the source code for Android Automotive which is available as part of the Android Open Source Project (AOSP).

The first part of the course gives a detailed background on the Android operating system. In this section, you will learn how to build Android from source and run the system images on the target device. You will learn about the Android security framework and SELinux policy. All code and examples are based on Android version 13 and cover the hardware abstraction layers introduced in Project Treble.

The later topics teach 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.

Half of the course includes hands-on lab sessions during which you will apply the theory to create an Android Automotive device. We use a virtual classroom based on cloud instances and a browser UI, using the Cuttlefish emulator as the target.

If you have specific requirements, please contact Doulos to discuss your options.

Embedded Android for Automotive is aimed at system architects, engineers and project leaders who want to learn the details of Android Automotive OS. 

  • How to integrate and configure AAOS in your system
  • How to build Android from source and how to run it on the target system
  • Android security framework and SELinux policy
  • How the AAOS services and features provide the framework for an IVI system
  • Good knowledge of embedded Linux concepts (such as toolchain, bootloader, kernel, root filesystem) as covered in the Doulos Developing with Embedded Linux course
  • Good knowledge of Linux command-line tools such as make, grep, and find as covered in the Doulos Linux Fundamentals 
  • Good knowledge of C/C++ and Java


Please contact Doulos directly to discuss and assess your specific experience against the pre-requisites.

Doulos course materials are renowned for being the most comprehensive and user friendly available. Their unique style, content and coverage has made them sought after resources in their own right. The materials include:

  • Electronic copies of presentations and lab notes
  • Worked solutions to the problems
  • Sample code

Introduction to Android
Android architecture: the big picture • The Android Open Source Project (AOSP) • Building Android from source • The impact of Project Treble

Creating a new Android product
The structure of an Android device • Setting basic hardware characteristics • Integrating Linux and kernel modules • Adding the product to the "lunch" menu

The kernel
Looking at some Android-specific changes to Linux • Building Linux from source 

Booting Android
Options for storage layout • Flashing images using fastboot • Android init: events and services • Understanding run command (.rc) scripts

The Android build system
Building a product from packages and modules • Android makefiles (Android.mk) • Android Blueprint files (Android.bp)

The Android framework
Understanding Android services • The role of binder and AIDL • Adding a custom system service inside a persistent app • Accessing the service from a platform library

Security
How Android permissions work and how to add your own • POSIX user ID and group ID within Android • Understanding and modifying SELinux policy files

The Hardware Abstraction Layer
HIDL – the HAL Interface Definition Language • Run-time linking and the Vendor Native Development Kit (VNDK) • The Vendor Interface (VINTF)

Testing: CTS and VTS
Validating your Android implementation using the Compatibility Test Suite, CTS • Testing your vendor HAL using the Vendor Test Suite, VTS

Android Automotive
Android and IVI (In-Vehicle Infotainment) • The architecture of Android Automotive • Building Android Automotive from AOSP

The Vehicle HAL
Interface to vehicle buses (e.g. CAN) • Defining and exporting Vehicle Properties • Subscribing to vehicle events

The Car API
The Car Service • The android.car.* classes • Writing system car apps • 3rd party car apps

Audio in Android Automotive
Audio in normal Android • Audio policy configuration • Integrating Android audio with the vehicle audio system

The Exterior View System
Meeting the 2 second boot requirement • The Exterior View System (EVS) • The EVS camera and display HALs

Looking for team-based training, or other locations?

Complete an enquiry form and a Doulos representative will get back to you.

Enquiry FormPrice on request