Android Automotive 12 release details

This page summarizes new major features provided in Android Automotive OS 12, released publicly on October 4, 2021. To learn more about each feature, see What's new.

Features

Platform: System power, performance, and cluster

  • Understand 64-bit builds. Learn about the 64-bit only Android system.
  • Power policy. Provide an API (native service) to define power states and policy. This feature enables OEMs to customize ON states.
  • Cluster stack II. Improve the cluster stack to reduce OEM side work.

System user interface and improvements to core apps

  • Rotary controller. Front-end AAOS experiences, including system apps such as Dialer, Media, and Settings can now be fully navigated with a Rotary controller that supports four-way nudge, clockwise and counter clockwise rotation, and selection. Additional IME integration is now also available given an OEM-provided, Rotary-focused IME.
  • Short Message Service (SMS) v2. A reference SMS 2 app with message history and a UI to a compose a message is provided.
  • Heads-up notifications (HUNs). By default, HUNs are ordered by time. However, since some HUNs are more important or urgent than others (for example, a car emergency is more important than a message), this feature enables HUNs to be prioritized.
  • User interface (UI):
    • Replace the AOSP reference launcher with launcher 2.
    • System UI proofing.
  • Privacy:
    • Transparency for the user on the microphone with a microphone indicator.
    • Apps visible more than 90 days are automatically designating as hibernating.
    • Enable microphone toggle notifications when an app attempts to access the microphone. Upon interacting with the indicator, a Recently Used dialog shows the most recent app that accessed the microphone.
  • Settings app redesign. Improve usability and scalability with a configurable two-column structure for larger and wider screens. Incorporated a revamped information architecture to ensure key settings can be easily accessed and discovered.
  • Toasts API. Only system apps can access the Toasts API.

User management

  • Remote user management. New APIs are available to create and delete Android users for remote management use cases. These APIs are integrated with the AAOS UX restriction engine, such that if these actions are remotely executed (for example, on the web or in a phone app), the drive-state of the vehicle is respected. For remote user locking, we integrate the existing DevicePolicyManager APIs with the UX restriction engine.

Bluetooth

  • Improved Bluetooth reconnection performance. Automatically connect to devices more often, under the right circumstances. For example, initiate reconnection on a VHAL event, such as driver-in-seat.
  • Messaging database. Added support for using a messaging database through MAP to provide more flexibility to messaging apps that rely on Bluetooth.

Connectivity

  • Per-Application Network Selection (PANS). Allow for the creation and enforcement of a dynamic network policy that determines which apps can use OEM_PAID networks.
  • Dual STA. Concurrently enable the In-Vehicle Infotainment (IVI) system to connect to a restricted Wi-Fi network for OEM purposes as well as with another connection to a Wi-Fi network.

Audio

  • Audio ducking signal. Provides the Hardware Abstraction Layer (HAL) with audio focus state and information on what output devices to duck.
  • Volume improvements. Allow for the finer control of volume, including providing API to get active volume groups.
  • Mute per volume group. Allow per volume group muting and enhance HAL and UI communication as to the mute states.

Camera

  • CarEvsManager. Enable OEMs to implement an Android Activity that shows the preview from automotive camera services.
  • Externded View System (EVS) statistics. Collect EVS service usages and performance statistics.
  • Surround View GPU acceleration. Improved performance for Surround View stitching by making the best of the GPU.
  • Surround View online calibration. Aligns Surround View images on-the-fly to accommodate shifts in camera positions over time, retaining the stitched image quality for the life span of the car.

Security

  • Vehicle bound encryption. Android storage encryption can now be configured to store some key encryption parameters on an external ECU. This prevents the harvesting of data by removing the head unit from the car (which can occur due to theft or demolition).
  • Secure developer options. Android developer options and ADB can be remotely enabled exclusively by an OEM. Reference implementation provides crypto token access mechanisms and remote web service.

Sensors

  • Automatic time detection. Read time from Global Navigation Satellite Systems (GNSS) when other sources are unavailable. This way, a car has a time source when offline.
  • Enable sensor replay and playback on an emulator.

Telemetry

  • Edge-based analytics capability. Enables the ability to perform more edge-based metrics processing on Android Automotive devices. Android infotainment and vehicle property metrics can be configured in scripts written in the Lua programming language and processed on-device and sent to the back-end determined by an OEM.

Vehicle integration

  • Temperature control. New attributes, including HVAC_TEMPERATURE_VALUE_SUGGESTION, enable HVAC temperature rounding and units.
  • Vehicle property updates. Added APIs to streamline the development flow by providing a way to get and set multiple vehicle properties at one time.
  • Freeze the vehicle HAL interface.

Display and input

  • OEM custom input. Add or customize different inputs for OEM cars.

Settings app update

  • UI and information architecture update. Updated the Settings app to version 2.

Additional updates

  • Deprecated PERMISSION_CONTROL_CAR_OCCUPANT_AWARENESS_SYSTEM.
  • Setup Wizard is now listed in Google Play.

Compliance

The following tests in the CTS are known to be failing in Android 12. To pass these tests, include these patches in the Android 12 code. These patches are also available in Android 12L.

  • CtsPackageUninstallTestCases:android.packageinstaller.uninstall.cts.UninstallTest#testUninstall
  • CtsSharesheetTestCases:android.sharesheet.cts.CtsSharesheetDeviceTest
  • CtsPermission3TestCases
  • CtsAccessibilityServiceTestCases:android.accessibilityservice.cts.AccessibilityGestureDispatchTest#testClickAt_producesDownThenUp
  • CtsSecurityHostTestCases:android.security.cts.SELinuxHostTest and CtsSecurityHostTestCases:android.security.cts.SELinuxNeverallowRulesTest
  • CtsWindowManagerDeviceTestCases
  • CtsAppTestCases:android.app.cts.UiModeManagerTest