Android 13 and Android 13 QPR release notes

This page summarizes the major features in the Android 13 and the Android 13 QPR releases and provides links to additional information. These feature summaries are organized according to the feature's documentation location on this site.

Architecture

Changes to the generic boot partition

For devices launching with Android 13, the generic ramdisk is removed from the boot image and placed in a separate init_boot image.

For more information, see Generic Boot Partition.

GKI modules

In Android 13, some kernel functionality is delivered in dynamically loadable modules, called GKI modules, to reduce the GKI kernel memory footprint on devices that don't require the functionality.

For further information, see the Kernel modules.

Modular system components

Android 13 contains several new and updated modulular system components. The new modules are:

  • AdServices: Supports the Privacy Sandbox initiative that aims to create technologies that both protect people's privacy online and give companies and developers tools to build thriving digital businesses
  • AppSearch: An on-device indexing and structured search engine
  • Bluetooth: (Optional) Aims to provide a consistent, high-quality Bluetooth experience to all Android users
  • OnDevicePersonalization: Provides a set of tools developed with user privacy as their core tenet
  • UWB: Contains a UWB stack above the HAL interface

Updates to existing modules:

Update to Android kernel file system support

Beginning with Android 13, userspace works only with file systems built into the Generic Kernel Image (GKI).

For more details, see Android Kernel File System Support.

Audio

Implementation of spatial audio and head tracking

Starting with Android 13-QPR, using the new audio pipeline architecture and sensor framework integration, OEMs can provide a spatializer audio effect with support for head tracking with the required level of performance and latency. See Implementation of high-quality spatial audio and head tracking for guidelines and more information.

Support for MIDI 2.0

Starting in Android 13, MIDI 2.0 support is added to the USB transport. MIDI 2.0 is a newer MIDI standard defined in 2020.

See the MIDI page for more details.

Update to Audio HAL

Starting with Android 13, Audio HAL is updated to version 7.1. See Audio HAL for more information.

Automotive

New Android Automotive features

To learn more about the new Automotive features in Android 13, see What's New.

Build

Build with Bazel

Android 13 introduces building kernels with Bazel, replacing build/build.sh.

For more information, see Bazel (Kleaf).

Camera

AIDL camera HAL

In Android 13, the camera framework includes support for AIDL camera HALs. The camera framework also supports HIDL camera HALs, however camera features added in Android 13 or higher are available only through the AIDL camera HAL interfaces.

For information on migrating HAL processes from HIDL camera interfaces to AIDL camera interfaces, see AIDL camera HAL.

Camera debugging updates

Android 13 adds the watch debugging tool in the camera service, which allows for viewing changes in capture request and result values that are sent to and from the camera HAL. The tool allows live previewing of tag monitoring dumps from open clients, and viewing of cached dumps from closed clients.

For more information, see Camera Debugging.

Camera preview stabilization

Android 13 adds support for video stabilitization on the preview stream in camera capture sessions. This feature lets third-party apps provide a what you see is what you get (WYSIWYG) experience when comparing between the camera preview and the recording.

For more information, see Camera Preview Stabilization.

Torch strength control

Android 13 introduces a feature for multilevel control for torch strength. In Android 12 and lower, the framework allows only for turning the torch mode on or off. This feature enables use cases such as controlling the brightness of the flashlight based on lighting conditions and sending signals for assistance using a strobe effect by sending quick pulses of light in a row.

For more information, see Torch Strength Control.

10-bit camera output

Android 13, adds support for 10-bit camera output through dynamic range profiles that can be configured by the camera client as part of the stream configuration. This lets device manufacturers add support for 10-bit dynamic range profiles such as HLG10, HDR 10, HDR 10+, and Dolby Vision.

For more information, see 10-Bit Camera Output.

To encourage adoption of 10-bit camera output on third-party apps, such as social media apps, to improve video capture and video sharing experiences, it's important to effectively validate the implementation of this feature. Third-party apps looking to adopt this feature are likely to start with the mandated profile HLG10. For more details, see Validation.

Compatibility

Camera ITS updates

Android 13 introduces changes to Camera ITS, which include support for video testing, updated Python and package versions, and test hardware updates.

For more details, see Android 13 Camera Image Test Suite Release Notes.

CDD updates

The Android 13 Compatibility Definition Document iterates upon previous versions with updates for new features and changes to requirements for previously released functionality.

For a list of changes in Android 13, see Android 13 Compatibility Definition Release Notes.

Default accounts for new contacts

Preloaded contact apps must handle the ContactsContract.Settings.ACTION_SET_DEFAULT_ACCOUNT intent, which lets a user select a default account. The preloaded contact app must save the selected default account and must use the default account when handling Intent.ACTION_INSERT or Intent.ACTION_INSERT_OR_EDIT to insert a contact. This requirement ensures consistency across all apps that interact with contacts.

For further information, see the contacts section of the Android 13 CDD.

Connectivity

Allow 2G toggle

In Android 13, the Allow 2G toggle in Settings is grayed out (meaning that users can't interact with the button) when the KEY_HIDE_ENABLE_2G carrier configuration key is set to true. Additionally, when grayed out, the Allow 2G toggle includes text stating that the user's carrier requires 2G to be available. In previous versions, the Allow 2G toggle is hidden when KEY_HIDE_ENABLE_2G is set to true.

Cellular usage setting

Android 13 supports a cellular usage setting that lets carriers configure devices to be in either a voice-centric or data-centric mode. Carriers can use this setting in conjunction with other config changes to reduce IMS traffic on their networks for traditionally voice-centric devices that operate in data-only mode, for example, for services that include companion data-only service.

To modify the cellular usage setting, use the config_supported_cellular_usage_settings overlay or set the default value in config_default_cellular_usage_setting. The setting can be either USAGE_SETTING_VOICE_CENTRIC or USAGE_SETTING_DATA_CENTRIC.

The cellular usage setting feature includes the following APIs:

To validate the cellular usage setting feature, run the following tests:

Concurrent multiple networks with internet connection

Android 13 introduces the concurrent multiple networks with internet connection feature, which allows a device to concurrently connect to two Wi-Fi networks (APs), both of which are unrestricted (available to all apps) and provide internet access.

For more information, see Wi-Fi STA/STA Concurrency.

IMS API updates

Android 13 introduces the following updates to IMS single registration APIs:

  • DelegateRegistrationState:

    • Supports cases where the framework needs to wait for SIP sessions to finish before tearing down the IMS PDN.
    • Adds the getRegisteringFeatureTags method that allows listening apps to know when the IMS stack is actively trying to register IMS.
  • RcsUceAdapter: Adds PUBLISH_STATE_PUBLISHING to allow listening apps to know when the IMS stack is actively trying to publish capabilities

  • CapabilityExchangeEventListener: Adds the onPublishUpdated method to allow IMS Service to asynchronously notify the platform that a SIP PUBLISH refresh has succeeded or failed.

  • RcsClientConfiguration:

    • To support RCC.72 section 2.1.14, adds a new value to the constructor to allow the messaging app to specify if the user enabled or disabled RCS.
    • Adds the RCS_PROFILE_2_4 constant to allow a messaging app to report that it supports RCS Universal Profile version 2.4.

Android 13 also includes the following updates for IMS APIs:

  • Adds the ability for apps to listen to the IMS stack state through the ImsStateCallback class. For more information, see Use ImsStateCallback.
  • Refactors IMS provisioning for IMS Service to support MVNO provisioning use cases.
  • Improves the threading model in IMS Service.
  • Adds SIM subscription aware APIs in IMS Service

Multiple enabled profiles for eUICC

Android 13 introduces support for multiple enabled profiles (MEPs) for eUICC, which allows devices to have dual SIM support using a single eSIM chip. Multiple SIM profiles allow the device to connect to two different carriers at the same time.

For further information, see Multiple Enabled Profiles.

Presence calibration requirements

Android 13 introduces new presence calibration requirements to ensure that all devices in the Android ecosystem can determine the relative proximity between devices.

For more information on how to set up and calibrate devices to meet these requirements, see Presence Calibration Requirements.

Telephony fallback mode for time zone detection

Android 13 introduces the telephony fallback mode for time zone detection. This mode lets Android use telephony detection suggestions temporarily in situations where location detection can't detect the time zone, or where location detection takes longer than telephony detection to detect the time zone.

For more details, see The time_zone_detector service.

TelephonyManager UICC access API improvements

Android 13 undeprecates and adds improvements for UICC logical channel management for the following TelephonyManager UICC access APIs:

These APIs were deprecated in Android 11 because OMAPI provides a more reliable implementation for managing UICC logical channels. However, OMAPI doesn't cover all the use cases provided by the TelephonyManager UICC access APIs. Therefore, in Android 13, these APIs are undeprecated with improvements for UICC logical channel management. Previously, when a calling app that opens a logical channel crashes, the logical channel can leak, meaning that the channel isn't released and can't be reused by the app without rebooting. With the improvements in Android 13, if an app crashes, the system releases the logical channel, which allows the channel to be reused by the app.

These API improvements are done at the implementation level and are fully backward compatible. No additional effort is required for calling apps to use these APIs.

Trust on First Use (TOFU) for enterprise networks

Android 13 introduces support for the Trust on First Use (TOFU) authentication approach, which lets users trust an enterprise (EAP) network by installing the root CA used by the server and setting its domain name in a saved network. TOFU allows the device to obtain an unauthenticated public key when a user first connects to an enterprise network and retain the key for subsequent connections.

For more information, see Trust on First Use.

Ultra-wideband support

Android 13 introduces a default framework implementation for ultra-wideband (UWB) radio technology, a technology that enables highly secure, precise ranging between supported devices.

For more information, see Ultra-wideband.

Wi-Fi AP/AP concurrency updates

Android 13 adds support for the 6 GHz band for Wi-Fi AP/AP concurrency, which lets devices create two access point (AP) interfaces.

For more information, see Wi-Fi AP/AP Concurrency.

Wi-Fi Aware

Android 13 introduces support for version 3.1 of the Wi-Fi Aware specification. For more information, see Wi-Fi Aware.

Wi-Fi hotspot (soft AP) tethering updates

Android 13 introduces new configurations for devices supporting tethering through Wi-Fi hotspots. For details on the new configurations, see Wi-Fi Hotspot (Soft AP).

Wi-Fi multi-interface concurrency

Starting in Android 13, Wi-Fi HAL 1.6 adds the ability to specify a bridged AP interface (dual band simultaneous) as an explicit combination item.

For more details, see Wi-Fi multi-interface concurrency.

Wi-Fi network selection updates

Starting in Android 13, if different scan intervals are needed at runtime, privileged apps can dynamically set the on-screen scan schedule for available Wi-Fi networks by calling the WifiManager#setScreenOnScanSchedule(screenOnScanSchedule) method.

For more information, see Wi-Fi Network Selection.

Display

Task manager

In Android 13, a new System UI affordance called the Task Manager notifies the user about the state and resources being used by the foreground services on background apps and enables the user to stop these apps.

For more information, see Task Manager.

Media controls in System UI

Starting in Android 13, media controls in System UI contain updates to action buttons and remote playback. These changes support a more polished media control experience on phones and tablets, and offer seamless media transfers across devices.

For more details, see Media controls in System UI.

Mixed SDR and HDR composition

Android 13 improves support for simultaneously presenting SDR and HDR composition on screen by dimming on-screen SDR content when presented simultaneously with HDR content.

For more information, see Mixed SDR and HDR Composition.

Notification permission for opt-in notifications

Starting with Android 13, notifications use an opt-in model, where all apps must ask users for permission before sending notification prompts. To support this, OEMs must implement changes in the notification and runtime permission systems, as outlined on the Notification Permission for Opt-In Notifications page.

Tone map HDR luminance to an SDR-compatible range

Android 13 introduces a vendor-configurable static library called libtonemap, which defines tone mapping operations. This feature enables OEMs to define and share their display tone mapping algorithms between the framework and vendors, lessening a mismatch in tone mapping.

For more information, see Tone map HDR luminance to an SDR-compatible range.