Android Automotive OS

SCHEDULED 31.03.2021

Learn how to architecture, port and customise Android Automotive OS for your car infotainment system.
Android is a trademark of Google LLC. AndroidAutomotiveBook.com is an independent venture and not associated with Google LLC.
Get notified when the book is launched: 

Marius Mailat

The Author

Marius Mailat is the founder and chief Android expert at P3 digital services and from 2015 Google Developer Expert on Android. As CTO at P3, great apps were created in record time and they are still fine examples of workmanship, handmade in Cluj-Napoca, Dusseldorf, Belgrade, and Beijing. Marius is working on producing new cars running Android Automotive to be launched in 2021.


Contributors

Many thanks to my friends who helped with the research and writing this book.

Free book sample

Check out a few pages from the Android Automotive OS book or even receive a free sample.

Contents

  • Preface
  • History of Android Automotive OS
  • Android challenges in the car
  • Android Automotive OS strategy
  • 10 most frequently asked questions
  • Summary

  • The Android Automotive OS stack
  • Project Treble and partitioning
  • Hardware requirements and developer boards
  • Android Automotive OS platform architecture blueprints
  • Android Automotive OS guide to app architecture

  • AOSP compiling requirements
  • Build setup using Docker container
  • Build setup using Ubuntu
  • Initialize and download the AOSP source code
  • Building AOSP from source code
  • Package the emulator
  • Building and flashing of AOSP on hardware
    • Google Pixel
    • Flash Android Automotive on LeMaker HiKey 960

  • Create the initial device structure
  • Generating your own platform signing keys
  • Product inheritance and variables
  • Android/GNU make build system
  • Android soong build system
  • BOOT_COMPLETED intent
  • Build and test the Android Automotive device
  • Add an existing application via APK
  • Add a new application via source code

  • Theming and design system
    • Resource overlays
    • Static runtime overlays (static RRO)
    • Dynamic runtime overlays (dynamic RRO)
  • SystemUI customization
    • Launcher application
    • Navigation bar
    • Status bar
    • Notification system
    • HVAC app
    • App menu
  • System apps customization
    • Media Player and media center
    • Dialer app
    • Messenger app
    • Connectivity
  • Settings customization
    • System settings
    • Cabin control

  • Create and build the Android Automotive SDK
  • Android Studio integration for Android Automotive SDK
  • Car Managers and Services architecture
  • Develop and Integrate a System Service in Android Automotive

  • Feature description
  • Architecture overview
  • Development of the car service
  • Development of the application
  • Interconnection between the layers
  • Integration in the Android Automotive
  • Testing with the Android Emulator

  • Vehicle specific extensions
  • The Vehicle Property Server
  • The Interface Port Server
  • Rotary pad integration in HMI and hardware
  • Gesture-based integration

  • Cloud architecture connected services
  • Onboard connectivity
  • Build a Companion app
  • Voice personal assistant

  • Automotive specific topics: LINBUS, CANBUS, SOMEIP
  • Rotary pad integration in HMI and hardware
    • Physical architecture
    • Sending and requesting data
    • Prioritization by using ID Arbitration
    • Connect rotary pad using VHAL
  • Gesture based integration
    • Key events in Android Automotive
    • CAN in combination with Android Automotive

  • Android Automotive certifications
    • Certification process
    • The Compatibility Definition Document
    • Test Suites (VTS, CTS, STS, BTS and ATS)
  • Android Automotive validation
    • Android Automotive Emulator
    • Google test frameworks
    • Android Simulator

  • Setup
    • Manifest-Repository
    • Build environment
    • Build reproducibility
    • Pipelines
    • Topic support
  • Deployment
  • Testing
  • Pushing upstream updates

  • One single SOC strategy
  • Digital instrument cluster via LVDS
  • ACR, QNX with AA
  • Barebone metal with Clear Linux and Android Automotive

  • Hardware and software requirements
  • Architecture overview
  • Implementation

  • User management
  • Permission managing
  • SE Linux policy
  • Layer based vehicle security
  • Communication patterns and restrictions
  • Inline access annotations
  • Car UX driving restriction framework
  • Over the air update

  • Android Automotive Operating System ( AAOS ) 11
  • Alternative IVI systems

The process

Watch a video of the final Android Automotive OS implementation named Project Black. The base of the book was created using the knowledge gathered in the process of developing it.

Latest articles

Some content is too good to keep in the book only.

Android Automotive OS Whitepaper

Google’s operating system Android Automotive OS for connected in-vehicle infotainment (IVI) systems is already disrupting the traditional…

Android Automotive and Physical Car Interaction

In oder to be able able to physically interact with the car it is running on, Android Automotive needs access to the in-vehicle networks…

Exposing a Gesture Sensor in Android Automotive OS

I think there has been so much focus on the voice commands to the point that other potential use cases have been, more or less, neglected.…

Workshops

Learn how to end-to-end architecture an Android Automotive OS and create your own premium HMI over it. In this 2 day workshop, you get an introduction to developing your own launcher, create your car services, and compile the end product for your hardware.

View schedule

Sign up for the Android Automotive OS newsletter for updates on the book, workshops, and more.