Android 15 and Android 15-QPR1 release notes

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

Architecture

Deprecation of VNDK

Android 15 deprecates VNDK. Former VNDK libraries are treated same as other vendor or product libraries. See Vendor NDK for more details.

Enable 16KB page size

Android 15 and higher have support for building Android with a 16KB page size.

For more information, see Enable 16KB page size.

Vendor overlay

Android 15 deprecates vendor overlay.

Audio

Head tracking over LE audio

Android 15 provides support for latency mode adjustments for head tracking (HT) based on whether the LE-ACL or LE-ISO transport mechanism is used. See Head tracking over LE audio.

Automotive

Android Automotive power policy

Updated the Android Automotive Power policy for Android 15 with two new system power policies: no user interaction and suspend prep.

Content for HD and DAB radio

Android 15 includes improvements to HD radio support in the broadcast radio HAL and a sample unbundled radio app, which can be used as a reference for radio control implementation.

For more information, see Automotive Radio.

Camera

Android camera feature combination query API

Starting in Android 15, the Android platform provides an API to query camera feature combinations. This API lets camera clients query whether a specified combination of camera features can be supported by the device.

For more information, see API to query feature combinations.

Low Light Boost

Android 15 introduces Low Light Boost, a new auto exposure mode that can be implemented in Camera2 in the HAL, and as part of a camera extension such as night mode. Low Light Boost automatically adjusts the brightness of the Preview stream in low-light conditions.

For more information, see Low Light Boost.

Compatibility

Camera ITS updates

Android 15 introduces updates to Camera ITS tests, which include new and updated tests.

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

CDD

Android 15 Compatibility Definition document is released.

Immersive audio test case

Starting in Android 15, a new CTS Verifier test for verifying spatial audio head tracking latency is introduced.

For more information, see the CTS Verifier for head tracking latency test.

New CTS Verifier audio tests

The following audio tests and supporting pages are added to the CTS Verifier documentation:

Connectivity

Android Packet Filter v6

Android 15 introduces Android Packet Filter (APF) v6, which includes counters for debugging and metrics and support for packet transmission. For more information, see Android Packet Filter.

Android proprietary NCI commands

Android 15 adds new Android proprietary NFC Controller Interface (NCI) commands to interact with an NFC controller. For details on the specifications of these commands, see Android proprietary NCI commands.

Domain selection service

Android 15 adds the DomainSelectionService system API, which lets you implement domain selection between the IMS service and legacy services over circuit switched networks.

For more information, see Domain Selection Service.

Subscription-level carrier service capabilities

Starting in Android 15, carriers can specify the service capabilities of the device at the subscription level. This lets app developers customize the user experience of apps based on the available capabilities for the subscription, in addition to at the device level.

For more information, see Subscription-level service capabilities.

Support for 802.11az in Wi-Fi RTT

Starting in Android 15, Wi-Fi Round Trip Time (RTT) supports the IEEE 802.11az protocol. For further information, see Wi-Fi RTT.

Watch companion device profile update

Android 15 adds the POST_NOTIFICATIONS permission to the watch profile. For details, see Companion Device Profiles.

Cuttlefish

Snapshot and restore on Cuttlefish devices

Android 15 adds support for taking and restoring snapshots of Cuttlefish virtual devices. Taking a snapshot of a Cuttlefish device lets you save the state of the device in an image on disk. You can then restore the snapshot to bring up a Cuttlefish device to the previously saved state.

For more information, see Cuttlefish: Snapshot and restore.

NFC support for Cuttlefish devices

Android 15 introduces support for NFC on Cuttlefish devices. The Cuttlefish NFC feature uses Casimir, an external NFC device simulation tool.

For more information, see Cuttlefish: NFC.

Data

WebSQL WebSettings deprecation

Starting in Android 15, the WebSettings methods setDatabaseEnabled and getDatabaseEnabled, which are used for WebSQL support inside WebView, are deprecated. WebSQL is removed in Chrome and deprecated on Android WebView. These methods will become no-ops on all Android versions after support is removed in Chromium.

The World Wide Web Consortium (W3C) encourages apps needing web databases to adopt other storage alternatives like IndexedDB.

Fonts

Support for variable fonts

Starting in Android 15, variable fonts are rendered at runtime with better efficiency and granularity. The font configuration file fonts.xml is being deprecated. See Implement custom fonts for more information.

Graphics

HDR in Android screenshots

Android 15-QPR1 introduces a local tone-mapping algorithm for screenshots. HDR in Android screenshots tracks the progression of the HDR screenshot capability in recent Android updates.

Interaction

Head tracker HID protocol 2.0

Android 15 introduces version 2.0 of the head tracker HID protocol, which includes support for Bluetooth LE audio. For more information, see Head Tracker HID Protocol.

Neural Networks API deprecation

Starting in Android 15, the Neural Networks API (NNAPI NDK API) is deprecated. The Neural Networks HAL interface continues to be supported and NNAPI drivers aren't affected by this deprecation.

For more information, see the NNAPI Migration Guide.

Media

OEM guidance for RoI implementation

Android 15 introduces a standardized process for integrating region of interest (RoI) user configurations into the Android video encoding framework. For further information, see OEM guidance for RoI implementation.

Permissions

Platform-signed shared UID allowlist

Android 15 introduces an explicit allowlist for platform-signed nonsystem apps to join (platform-signed) shared UIDs.

For more information, see Platform-signed shared UID allowlist.

Requirements update for COMPANION_DEVICE_APP_STREAMING and COMPANION_DEVICE_NEARBY_DEVICE_STREAMING roles

Android 15 updates the Virtual Device Manager role policies to prevent misuse for fraudulent purposes.

For more information, see COMPANION_DEVICE_APP_STREAMING and COMPANION_DEVICE_NEARBY_DEVICE_STREAMING on Android Roles.

Signature permission allowlist

Android 15 introduces an explicit allowlist for platform signature permissions that are requested by nonsystem apps or newly requested by updates to system apps.

For more information, see Signature permission allowlist.

Runtime

setAdjustCompilerFilterCallback

Starting with Android 15, you can override the compiler filter for certain packages using the setAdjustCompilerFilterCallback API.

For more information, see Override the compiler filter for certain packages.

Security

2G toggle

Carriers can no longer hide the 2G toggle from users. The carrier configuration key KEY_HIDE_ENABLE_2G has been deprecated.

dusize_4k flag

Android 15 introduces the dusize_4k flag which forces the encryption data unit size to be 4096 bytes even when the file system block size is not 4096 bytes.

For more information, see Internal storage.

Mobile Network Ciphering and IMSI Disclosure Transparency

Mobile network protocols up to and including 5G allow user data (including calls, SMS, data connections, and certain signaling-based metadata) to be transmitted in cleartext with encryption and integrity protection disabled.

Android 15 introduces new network and privacy settings that enable notifications for users when they connect to an insecure mobile network (no encryption or integrity protection where there is otherwise an expectation that this would be used), and their private identifiers (IMSI, IMEI, or SUCI) are exposed to the network in a manner that could potentially be used to track users.

The international mobile subscriber identity (IMSI) is a unique number used to identify every user on a certain cellular network tied to a user's SIM card. Attackers can capture this number in transit, and this is the basis for many known cellular attacks. The international mobile equipment identity (IMEI) is the unique identifier tied to a mobile device. The Subscription Concealed Identifier (SUCI) is a 5G-specific identifier.

Private space

Private space is a secure area for sensitive apps, where users can hide apps from unauthorized access. You can use private space to store sensitive apps such as banking, dating, and other personal apps that you don't want other device users to access.

For more information, see Private space.

Updates

Virtual A/B version 3

Android 15 introduces a a new version of Android virtual A/B update mechanism. This new feature introduces faster, smaller and more performant OTA updates. For more information, see Virtual A/B.

Virtualization

Enhancements to Android Virtualization Framework (AVF)

Android 15 introduces the following enhancements to Android Virtualization Framework (AVF), the framework for managing virtual machines (VMs).

  • Updatable VM: VMs can keep their secrets and data protected by them even across updates in their software stack. For more information, see Updatable VM.

  • VM remote attestation: Clients of a VM can be sure that they are communicating with the correct VM and software stack running on a trusted device. Clients can use the attestation to make sure that, for example, they only deliver a valuable machine learning model directly to their trusted VM. For more information, see VM remote attestation.

  • Device assignment: Peripheral devices can be fully assigned to a protected VM. Such an assigned device isn't accessible from outside of the VM, and the device itself can access only the memory that is owned by the VM. This feature can be used to run machine learning accelerators like a GPU in a protected VM, without having to send the code and data out of the VM. This feature is experimental and its availability highly depends on the capability of the hardware and the support from the chipset and device makers. For more information, see Getting started with device assignment.