This page summarizes the major features in the Android 14, Android 14-QPR1, and Android 14-QPR2 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.
Kernel wake source statistics
Android 14-QPR2 adds wake source statistics to logcat.
These statistics identify the components in the kernel that keep the system
awake during each suspend and resume cycle, and can be used to debug kernel
performance and improve battery life. Kernel wake source statistics are
available only in userdebug and engineering builds that have
suspend.debug.wakestats_log.enabled
set to true
. See
logKernelWakeLockStats
for more information.
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:
- Extension-specific metadata
- Real-time still capture latency estimate
- Capture processing progress callbacks
- Postview still capture
- Support SurfaceView output
Device as webcam
Android 14-QPR1 adds support for using a device as a USB webcam. Android devices supporting this feature are advertised as a UVC device, which lets a wide range of USB hosts with different operating systems (for example, Linux, macOS, Windows, and ChromeOS) use the device's camera as a webcam. For more information, see Use a device as a webcam.
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:
GnssCapabilities.getGnssSignalTypes
: Returns the list of the GNSS signal types that the GNSS chipset supports.GnssCapabilities.hasAccumulatedDeltaRange
: Determines if the GNSS chipset supports accumulated delta range.GnssMeasurementsEvent.isFullTracking
: Indicates whether the GNSS engine is in full tracking mode.
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 letsImsService
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
, andImsRegistrationAttributes
: Allows for detailed SIP transaction result information to be reported when aSIP REGISTER
response is returned from the network.RcsUceAdapter.CapabilitiesCallback
andRcsCapabilityExchangeImplBase.SubscribeResponseCallback
: Allows for more detailed information to be reported when aSIP SUBSCRIBE
response is returned from the network.RcsUceAdapter.OnPublishStateChangedListener
,PublishAttributes,
CapabilityExchangeEventListener
, andRcsCapabilityExchangeImplBase.PublishResponseCallback
: Allows for more detailed information to be reported when aSIP PUBLISH
response is returned from the network.
Adds the
MediaQualityStatus
andMediaThreshold
classes to provide support for IMS media quality reporting. The following methods inMmTelFeature
let media quality updates to be reported to other system apps such asQualifiedNetworksService
, 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:
- Set the capability
ImsService#CAPABILITY_TERMINAL_BASED_CALL_WAITING
and implement theMmTelFeature#setTerminalBasedCallWaitingStatus
method. Configure the following
CarrierConfigManager
keys on a per-carrier basis to enable terminal-based call waiting for a specific carrier:ImsSs#KEY_UT_TERMINAL_BASED_SERVICES_INT_ARRAY
ImsSs#SUPPLEMENTARY_SERVICE_CW
ImsSs#KEY_TERMINAL_BASED_CALL_WAITING_SYNC_TYPE_INT
ImsSs#KEY_TERMINAL_BASED_CALL_WAITING_DEFAULT_ENABLED_BOOL
- Set the capability
To improve threading for
ImsService
, adds a constructor onImsSmsImplBase
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:
- Adds an upper time bound for time suggestions. For details, see Allowed time bounds.
- Adds support for multiple NTP servers. For details, see Servers.
- Updates behavior for devices that support only location time zone detection. For details, see Devices that support only the location time zone detection algorithm.
- Adds APIs to let location time zone providers report status information. For details, see LTZP status APIs.
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.