This page summarizes the major features in the Android 13 release and provides links to additional information. These feature summaries are organized according to the feature's documentation location on this site.
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
For more information, see Generic Boot Partition.
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:
- CrossDevice: Provides cross-device communication technologies using standard protocols
- Permissions unification: Information about unifying permissions
- Split tunneling: Specifies routes to exclude from the VPN
- Wi-Fi module boundry updates: Updated module boundary
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.
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.
New Android Automotive features
To learn more about the new Automotive features in Android 13, see What's New.
Build with Bazel
Android 13 introduces building kernels with
For more information, see Bazel (Kleaf).
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
For more details, see
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.
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_EDIT to insert a contact.
This requirement ensures consistency across all apps that interact with
For further information, see the contacts section of the Android 13 CDD.
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
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
KEY_HIDE_ENABLE_2G is set to
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
overlay or set the default value in
The setting can be either
The cellular usage setting feature includes the following APIs:
CarrierConfigManager#KEY_CELLULAR_USAGE_SETTING_INTsets the usage setting.
SubscriptionInfo#getUsageSetting()queries the usage setting.
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:
- Supports cases where the framework needs to wait for SIP sessions to finish before tearing down the IMS PDN.
- Adds the
getRegisteringFeatureTagsmethod that allows listening apps to know when the IMS stack is actively trying to register IMS.
PUBLISH_STATE_PUBLISHINGto allow listening apps to know when the IMS stack is actively trying to publish capabilities
CapabilityExchangeEventListener: Adds the
onPublishUpdatedmethod to allow IMS Service to asynchronously notify the platform that a SIP PUBLISH refresh has succeeded or failed.
- 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_4constant 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
ImsStateCallbackclass. 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:
iccOpenLogicalChannel(String AID, int p2)
iccTransmitApduBasicChannel(int cla, int instruction, int p2, int p3, String data)
iccTransmitApduLogicalChannel(int channel, int cla, int instruction, int p1, int p2, int p3, String data)
iccExchangeSimIO(int fileID, int command, int p1, int p2, int p3, String filePath)
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.
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 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
For more information, see Wi-Fi Network Selection.
Foreground service task manager
In Android 13, a new System UI affordance called the FGS 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 Foreground Service (FGS).
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 Mapping HDR luminance to an SDR-compatible range
Android 13 introduces a vendor-configurable static
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 Mapping HDR Luminance to an SDR-compatible Range.
AIDL for Hardware Composer HAL
Starting in Android 13, the Hardware Composer (HWC) HAL
is defined in AIDL and the HIDL versions ranging from
email@example.com are deprecated.
For more information, see AIDL for Hardware Composer HAL.
Client framebuffer management
Starting with Android 13, new framebuffers, used during client composition, are allocated whenever the display resolution changes. This allocation is performed by SurfaceFlinger on the next invalidate cycle after a resolution change.
For more information, see Client framebuffer management.
Unsignaled buffer latching with AutoSingleLayer
Android 13 adds a new configuration called
AutoSingleLayer for latching
unsignaled buffers. This configuration lets SurfaceFlinger latch an unsignaled
buffer when only a single layer is updating, and not for the cases that occur
across layers, such as geometry changes or sync transactions.
For more information, see Unsignaled buffer latching with AutoSingleLayer.
Authentication for home controls
In Android 13, the
device controls API
includes a new method called
which allows device controls providers to specify which home controls can fulfil
interactions on a locked device. This enables a more seamless interaction on
entry points, such as a locked phone screen.
Head tracker HID protocol
Android 13 introduces the head tracker human interface device (HID) protocol, which allows a head-tracking device to be connected to an Android device through USB or Bluetooth and be exposed to the Android framework and apps through the sensors framework.
For more information, see Head Tracker HID Protocol.
Locked callback signal support in KeyguardManager
NNAPI reusable execution objects
Android 13 introduces the NNAPI AIDL HAL interface,
which manages the lifetime of a reusable execution object and its
IExecution objects reduce the overhead of machine
learning inference tasks by enabling the NNAPI driver to preserve resources
between executions and apply request-specific optimizations.
Sensors AIDL HAL
Exporting video encoding statistics
Starting with Android 13, app clients can request the video encoder to export encoding statistics for each encoded video frame. With the statistics obtained from the video encoder, apps can optimize their video encoding tasks such as multipass encoding and frame preprocessing prior to encoding.
For more information, see Video encoding statistics data.
Health AIDL HAL
Performance boost at game loading time
Android 13 introduces a new power mode in the Power
Manager Service named
that indicates to the Power HAL if the game app is in the loading state so that
the Power HAL can provide a loading boost. See
Performance Boost At Game Loading Time for more
Body sensor permission split
Starting from Android 13, the
BODY_SENSORS permission is split into two permissions:
track heart rate in the foreground and
BODY_SENSORS_BACKGROUND to track
heart rate in the background.
For further information, refer to Use of body sensors in the background requires new permission
App background behavior trackers
Android 13 introduces the concept of an app background behavior tracker or a process that monitors background battery usage by apps to determine if apps violate some policy.
For further information, see App background behavior trackers.
Mitigate power usage during backup and restore
Starting from Android 13, you can limit power
transfer during USB backup and restore by calling
For further information, see Power Management.
APK Signature Scheme V3.1
This scheme is used by default when signing an APK with a rotated signing key and signing lineage, and allows a single APK to target rotation on Android 13 and later while avoiding the known issues with rotation on previous platform versions by using the original signing key in the v3.0 signature block. Similarly, the v4.1 signature will include additional signing info for the v3.1 block to support the same behavior for incremental installs.
Intents should match declared intent filters
In Android 13, intents originating from external apps are delivered to an exported component if and only if the intents matche their declared intent-filter elements.
Non-matching intents are blocked. The following are exceptions where intent matching isn't enforced:
- Intents delivered to components that don't declare any intent filters
- Intents originating within the same app
- Intents from the system
- Intents from the root
OMAPI Vendor Stable Interface
Open Mobile API (OMAPI) is a standard API used to communicate with a device's Secure Element. Before Android 13, only applications and framework modules had access to this interface. By converting it to a vendor stable interface, HAL modules are also capable of communicating with the secure elements through the OMAPI service.
For more information, see OMAPI Vendor Stable Interface.
Per-app language settings
Android 13 adds capabilities to let users change language preferences on an app-by-app basis. Partners and OEMS shouldn't disable the app language selection page and the page should be accessible through these three navigation options:
- Settings > Apps > app_name and select Language.
- Long press the app icon, tap App info, and select Language.
- Settings > System > Languages & input > App languages > app_name.
The Settings app must continue to launch the app locale settings page
For further information, refer to Per-app language settings.
Multimedia tunnel mode
Android 13 expands the defined behavior of tunneled video playback and ties that new behavior to additional CTS certification tests.
For more information, see Multimedia Tunneling.
Virtual A/B updates
Android 13 adds the XOR compression and userspace
merge features for Virtual A/B updates. XOR compression allows for reduced
snapshot sizes because XOR data is easier to compress than raw block data.
The userspace merge feature lets the
snapuserd userspace component to handle
the merge process for Virtual A/B updates, which reduces merge times as compared
to Android 12 where a
dm-snapshot device is used.
Android Virtualization Framework
Android Virtualization Framework (AVF) provides secure and private execution environments for executing code. AVF is ideal for security-oriented use cases that require stronger, even formally verified, isolation assurances over those offered by Android’s app sandbox.
For more information, see Android Virtualization Framework overview.