Android 14 and Android 14-QPR1 release notes

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

Architecture

backend.[cpp|ndk].additional_shared_libraries

Introduced in Android 14, backend.[cpp|ndk].additional_shared_libraries adds dependencies to the native libraries and is useful with ndk_header and cpp_header. See Defining an AIDL interface for more information.

gen_trace value

Starting in Android 14, gen_trace is set to true for the cpp and java backends. See Defining an AIDL interface for more information.

Kernel support

Starting in Android 14, 5.4 kernels are no longer supported. See the updated kernel information on Feature and launch kernels.

Audio

Dynamic soundbar mode

With Android 14 framework support, set-top boxes (STBs) and over-the-top (OTT) devices with built-in or connected speakers can be configured to be soundbars for connected devices. For more information, see Dynamic soundbar mode.

Migration of Audio HAL to AIDL

Starting with Android 14, the Audio HAL interface is defined using AIDL. See AIDL implementation and AIDL and HIDL Audio HAL comparison for more information.

Multiple USB device routing updates

The Android 14 USB framework supports routing to multiple USB devices simultaneously. See Combined audio device routing for more information.

Preferred mixer attributes on USB devices

Android 14 provides developer APIs that apps can use to query and configure preferred mixer attributes for USB audio playback. See Preferred mixer attributes on USB devices for more information.

Sound dose

Android 14 provides support for sound dose in the audio framework and Audio HAL by continuously monitoring sound dose measurements and issuing warnings to users about damaging exposure levels. See Sound dose for more information.

Starting with Android 14-QPR1, calculation of sound dose is enabled.

Camera

Camera extensions features

Android 14 adds the following features to version 1.4.0 of the camera extensions interface:

Reference USB camera HAL

Android 14 migrates the reference USB camera HAL to AIDL, and deprecates the HIDL implementation. For information on the USB camera HAL, see External USB cameras.

Ultra HDR

Android 14 adds support for capturing Ultra HDR compressed images using the JPEG_R image format. This format is backward compatible with SDR JPEG images and supports HDR rendering of content. For more information, see Ultra HDR.

Wide gamut capture

Android 14 adds support for Display P3 wide gamut capture, which lets devices capture wide gamut color images in JPEG format with the ImageReader class without using 10-bit HDR. For more information, see Wide gamut capture.

Compatibility

Camera ITS updates

Android 14 introduces updates to Camera ITS tests, which include updates to Python and package versions, updated tests, and new tests. For more details, see Android 14 Camera Image Test Suite Release Notes.

CDD updates

The Android 14 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 14, see Android 14 Compatibility Definition Release Notes.

CTS release notes

See a list of key CTS changes for Android 14 in Android 14 CTS Release Notes.

CTS Verifier tests for presence calibration

Android 14 adds CTS Verifier tests for validating the updated Wi-Fi neighbor awareness networking (NAN) and BLE RSSI presence calibration requirements. These include the NAN accuracy, BLE RSSI precision, and BLE Rx/Tx offset precision tests. For more information, see Presence calibration.

Performance Class 14 (PC14)-Video encoding quality (VEQ) CTS test

Android 14 introduces Video encoding quality (VEQ) requirements for Performance Class 14 (PC14) devices. The PC14-VEQ requirements are verified by a new CTS test called CtsVideoEncodingQualityHostTest. See Run PC14-VEQ tests for more information.

Connectivity

5G slicing upsell

Android 14-QPR1 introduces the 5G slicing upsell feature, which lets carriers offer enhanced network capabilities (latency and bandwidth) to users through 5G network slicing. For more information, see 5G slicing upsell.

ASHA advertisements for hearing aid devices

To improve the Bluetooth pairing experience on ASHA and LE audio dual mode hearing aid devices, Android 14 allows using the second bit (0 indexed) in the ASHA capability byte to indicate whether the device supports Coordinated Set Identification Service (CSIS). For more information, see Hearing aid audio support using Bluetooth LE.

eSIM multiple enabled profiles (MEP) updates

Android 14 supports the MEP-A1 and MEP-B options for the selection of the issuer security domain root (ISD-R) and the selection of eSIM ports as specified in GSMA SGP V22 3.0. For more information, see Multiple enabled profiles.

GNSS

Android 14 introduces the following GNSS capabilities and APIs, which are available through the GNSS AIDL HAL interface:

Devices launching with Android 14 must use the GNSS AIDL HAL. The GNSS framework supports HIDL HALs for devices upgraded to Android 14 but the new GNSS features are available only through the GNSS AIDL HAL interface.

Chipsets and devices launching with Android 14 or higher that include a GPS or GNSS receiver and report the capability to apps through the android.hardware.location.gps feature flag are strongly recommended to support the accumulated delta range feature.

IMS API updates

Android 14 introduces the following updates to ImsService:

  • Adds the SipDetails class, which lets ImsService report key information from the SIP response delivered from the network when an IMS registration, IMS publish, or IMS subscribe procedure concludes. This gives apps implementing RCS single registration more visibility into the SIP transaction response when a network or device issue occurs so that bugs or outages can be resolved quickly.

    Reporting of SipDetails is added to the following classes:

    • ImsRegistrationImplBase, RegistrationManager.RegistrationCallback, and ImsRegistrationAttributes: Allows for detailed SIP transaction result information to be reported when a SIP REGISTER response is returned from the network.
    • RcsUceAdapter.CapabilitiesCallback and RcsCapabilityExchangeImplBase.SubscribeResponseCallback: Allows for more detailed information to be reported when a SIP SUBSCRIBE response is returned from the network.
    • RcsUceAdapter.OnPublishStateChangedListener, PublishAttributes, CapabilityExchangeEventListener, and RcsCapabilityExchangeImplBase.PublishResponseCallback: Allows for more detailed information to be reported when a SIP PUBLISH response is returned from the network.
  • Adds the MediaQualityStatus and MediaThreshold classes to provide support for IMS media quality reporting. The following methods in MmTelFeature let media quality updates to be reported to other system apps such as QualifiedNetworksService, which is needed to help determine when to change the IMS PDN transport:

    The media quality updates are reported through the TelephonyCallback#MediaQualityStatusChangedListener interface.

  • Adds support for terminal-based call waiting in AOSP as defined in IR.92 requirements (2.3.4 Communication Waiting). This removes the need to rely on each ImsService implementation to implement these requirements.

    To enable this feature in AOSP:

  • To improve threading for ImsService, adds a constructor on ImsSmsImplBase that lets implementers provide an executor during class construction. This executor can be used to schedule inbound IPC requests on specific threads.

Qualified networks service

Android 14 adds the qualified networks service (QNS) service to the Telephony module. This service is an implementation of QualifiedNetworksService.java.

QNS evaluates available access networks based on the device's network state and carrier policy, determines the best access network for each APN type (for example, IMS, MMS, and EMERGENCY), and reports the information to the telephony framework in order to select the transport type for data networks. QNS provides over 100 carrier configurations to support carrier requirements.

QNS is an optional service. To enable QNS, set the value of the config_qualified_networks_service_package configuration to com.android.telephony.qns.

<string name="config_qualified_networks_service_package">
    com.android.telephony.qns
</string>

Suspend and resume Wi-Fi Aware discovery sessions

Android 14 supports the ability for privileged apps to suspend and resume Wi-Fi Aware active discovery sessions. This lets devices resume discovery sessions faster and use less power. For more information, see Suspend and resume.

Telecom VoIP APIs

Android 14 introduces the TelecomManager#addCall API, which replaces the ConnectionService class for VoIP use cases. This API forms the basis for a new Telecom CallsManager Jetpack class, which simplifies the process of integrating VoIP calls with the Android platform. The Jetpack class provides developers with a single API surface that works on Android 14 or higher, and a backward compatibility layer that wraps the existing ConnectionService class. We recommend developers use the Telecom CallsManager Jetpack class directly to target the largest range of Android SDK versions.

Time and time zone detection updates

Android 14 introduces the following updates to time and time zone detection on Android:

Ultra-wideband testing

Android 14 adds a new manual CTS test to verify compliance with ultra-wideband (UWB) requirements. For more information on how to set up your devices and run this test, see UWB requirements.

UWB HAL interface

Android 14 adds the following for the UWB HAL interface:

Android OIDs

  • ANDROID_RANGE_DIAGNOSTICS

UWB session configuration message parameters

  • ENABLE_DIAGNOSTICS
  • DIAGRAMS_FRAME_REPORTS_FIELDS

UWB capability message parameters

  • SUPPORTED_MIN_SLOT_DURATION_RSTU
  • SUPPORTED_MAX_RANGING_SESSION_NUMBER
  • SUPPORTED_CHANNELS_AOA

Status codes

  • STATUS_ERROR_STOPPED_DUE_TO_OTHER_SESSION_CONFLICT
  • STATUS_REGULATION_UWB_OFF

State change reason codes

  • REASON_ERROR_INVALID_CHANNEL_WITH_AOA
  • REASON_ERROR_STOPPED_DUE_TO_OTHER_SESSION_CONFLICT
  • REASON_REGULATION_UWB_OFF

For more details, see UWB HAL interface.

Wi-Fi 7

Android 14 introduces new features and improvements to support Wi-Fi 7. For more information, see Wi-Fi 7.

Wi-Fi Vendor HAL

Starting with Android 14, the Wi-Fi Vendor HAL is defined using AIDL. For more information. see Wi-Fi HAL.

Cuttlefish

Cuttlefish Wi-Fi feature updates

Starting with Android 14, the Cuttlefish Wi-Fi feature includes the WmediumdService and OpenwrtControlService tools for controlling Wi-Fi on a Cuttlefish device. For more details, see Cuttlefish: Wi-Fi.

Display

WindowManager extensions

Android 14 adds support for dual display mode, performance impact at loading, and the COMMON_STATE_USE_BASE_STATE device-specific state identifier in WindowManager extensions.

Enterprise

Enterprise device policy resolution framework

Starting with Android 14, multiple device policy management agents can set policies using DevicePolicyManager APIs. See Device policy resolution framework for more information.

Graphics

Android Baseline Profile (ABP) and Vulkan implementation

Any device that supports Android 14 or higher and the Vulkan API, must fulfill all functionality defined in the Android Baseline 2021 profile. See Implement Vulkan for more information.

Reduced graphics buffer memory consumption

Starting with Android 14, you can forcefully purge the graphics buffer cache to reduce graphics memory consumption. For further information, see Reduce graphics memory consumption.

Vulkan 1.1 adoption

For Android 14 and higher, all Vulkan-capable devices must have Vulkan 1.1 drivers. See Android 14 CDD requirements for more information.

Performance

Performance boost for games

Starting with Android 14, a new power mode named GAME enables customization of phone performance during game use. See Performance boost for games for more information.

Permissions

Capture Content for Notes

Starting with Android 14, the Capture Content for Notes APIs lets users to capture a screenshot directly through the default note-taking app. See Capture Content for Notes for more information.

COMPANION_DEVICE_GLASSES role

The COMPANION_DEVICE_GLASSES role in Android 14 lets users manage their glasses device through an app and perform functions such as accessing contacts and managing notifications and phone calls. For more details, see COMPANION_DEVICE_GLASSES on Android roles.

COMPANION_DEVICE_NEARBY_DEVICE_STREAMING role

The COMPANION_DEVICE_NEARBY_DEVICE_STREAMING role in Android 14 lets apps create and manage communication channels between connected devices in order to stream apps and send notifications among the devices. Only OEMs can grant this role. For more details, see COMPANION_DEVICE_NEARBY_DEVICE_STREAMING on Android roles.

Full-screen intent limits

To prevent ad spam and credential phishing, starting with Android 14, the default USE_FULL_SCREEN_INTENT permission to send full-screen notifications can be granted only to apps that provide calling and alarm functionalities. See Full-screen intent limits for more information.

NOTES role

The NOTES role in Android 14 supports the note-taking feature and increases productivity of Android tablets. With the NOTES role, OEMs can give the end users a consistent note-taking experience when using a stylus on an Android tablet on the users' preferred note-taking app. For more details, see NOTES on Android Roles.

Power

Migration of Thermal HAL to AIDL

Starting with Android 14, the Thermal HAL interface is defined using AIDL. For more information, see Thermal Mitigation.

PowerManager.ACQUIRE_CAUSES_WAKEUP permissions

Android 14 introduces the android.permission.TURN_SCREEN_ON permission, a special app access permission that users grant in their Settings. Going forward, this permission is required for the deprecated PowerManager#ACQUIRE_CAUSES_WAKEUP constant to have any effect. You can pregrant the permission to signature and privileged apps. The recommended way to support turning the screen on is to use R.attr.turnScreenOn, which doesn't require the new permission.

Runtime

JDWP thread creation

Android 14 adds the persist.debug.dalvik.vm.jdwp.enabled system property to control whether Java Debug Wire Protocol (JDWP) threads are created in userdebug builds. For more information, see JDWP options.

OpenJDK 17 updates

Android 14 continues the work of refreshing Android's core libraries to align with the features in the latest OpenJDK LTS releases, including both library updates and Java 17 language support for app and platform developers. For more information about the changes and their impact on Android developers, see OpenJDK 17 updates.

Security

Android 14 Security Release Notes

The Android security release notes detail the vulnerabilities patched in the 2022-09-01 security patch level. Android 14, as released on AOSP, has a default security patch level of 2023-09-01. For more details, see Android 14 Security Release Notes.

Disable 2G

Android 14 allows users to disable 2G at the radio hardware level on any device that implements the capability constant, "CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK". This stops a device from scanning or connecting to 2G networks. See Disable 2G docs to see all the changes.

Disable cellular null cipher/integrity mode

Android 14 introduces a new toggle in the mobile network settings menu to easily disable null-ciphers for non-emergency calls. All devices that adopt radio HAL 2.0 and above have support for the new toggle, which the OEM may choose to enable. Allowing users to disable null-ciphers hardens their privacy by preventing SMS and voice traffic from being passively intercepted over the air with no encryption.

Filename encryption

AES-HCTR2 is the preferred mode of filename encryption for devices with accelerated cryptography instructions in Android 14. For more details, see file-based

Multiple IMEIs

Android 14 adds support for multiple IMEIs in the Android Key Attestation record. OEMs can implement this feature by adding a KeyMint tag for a second IMEI. It is becoming increasingly common for devices to have multiple cellular radios and OEMs can now support devices with two IMEIs. For more details, see Attestation.

read-only files

If your app targets Android 14 and uses Dynamic Code Loading (DCL), all dynamically-loaded files must be marked as read-only. Otherwise, the system throws an exception. We recommend that apps avoid dynamically loading code whenever possible, as doing so greatly increases the risk that an app can be compromised by code injection or code tampering.

Security Center

Android 13 introduced Android's Safety Center to provide redirection entries so that users can access specific security and privacy settings. Android 14 continues to improve the safety center. Check out the Safety Center docs to see all the changes.

Storage

Picker choice in media permission

Starting with Android 14, users have the option to select only specific media to share with an app when the app requests access to the user's media library. For more details, see Permissions.

TV

TV input HAL with AIDL

Starting with Android 14, the TV input HAL interface is defined using AIDL.

Virtualization

Guest OS security guarantees

Starting with Android 14, writes to encrypted storage volume are confidential. See Guest OS for more information.

pKVM hypercalls

A new memory relinquish hypercall is provided by the pKVM hypervisor in Android 14. See pKVM hypercalls for more information.

pKVM vendor module

pKVM vendor modules are introduced in Android 14. See See pKVM vendor modules for more information.