Android 17 release notes

This page summarizes the major features in the Android 17 release and provides links to additional information. These feature summaries are organized by the feature's documentation location on this site.

Architecture

ION deprecation

The ION memory allocator is no longer supported on any Android version, because all kernels supporting ION reached end of life in December 2025. All vendor code attempting to use ION should fail. Remove all vendor code that uses ION.

Audio

Audio Managed SCO rearchitecture

If devices adopt Audio Managed synchronous connection-oriented (SCO) rearchitecture in Android 17 and higher, the Android audio framework uses the SCO management feature to manage SCO routing. Previously, the Bluetooth (BT) framework handled this routing.

Automotive

Advanced windowing with Scalable UI

In Android 17 and higher, use Scalable UI to build sophisticated, dynamic, and multi-panel user experiences in cars. Add WindowManager invariants, configure a setup wizard, and customize system and navigation bars.

Software defined vehicle

In Android 17 and higher, you can use the software-defined vehicle (SDV). SDV uses software to play a critical role in the building, controlling, managing, and enhancement of vehicle operations. SDV transforms vehicles into connected, adaptable platforms that can evolve through software updates.

Compatibility

Test audio multi-channel input and output

Android 17 introduces CTS Verifier tests for audio multi-channel input and output.

Run CTS-V tests

Android 17 requires an additional CTS-V setup step to grant the default browser role.

Run ranging accuracy, telecom, and host-side interactive tests

Android 17 includes CTS-V interactive tests that are semi-automated tests, requiring you to perform some manual steps on the device under test (DUT).

In addition to the interactive tests, we converted manual ranging accuracy and telecom tests to multidevice tests. Wi-Fi connection tests are required.

Run USB host-side interactive tests

Android 17 includes USB CTS-V host-side tests that require adb over Wi-Fi to run.

Run media tests

Android 17 includes CTS-V media playback tests.

Run audio workload test

Android 17 includes the CTS-V audio workload test.

Audio test updates

Android 17 introduces the following audio test updates:

  • Adds USB-C to 3.5 mm audio adapters to the list of USB audio adapter recommendations:
    • Google (vendor ID: 0x18D1, product ID: 0x5025)
    • Xumee (vendor ID: 0x3302, product ID: 0x56C5)
  • Removes HDMI requirements from CTS Verifier Pro Audio test.

Camera ITS updates

Android 17 introduces updates to the Camera Image Test Suite (ITS).

Compatibility Definition Document (CDD)

The Android 17 Compatibility Definition Document (CDD) is released with Android 17 updates.

Connectivity

Autorouting OTT calls to premium network connections

Android 17 supports autorouting of over-the-top (OTT) voice and video calls to premium network connections. This feature lets the system automatically steer traffic from voice and video calls to a dedicated premium network interface, such as a premium 5G slice or a premium 4G PDN connection, without requiring changes to an app's networking stack.

Ranging: Out-of-band specification updates

Android 17 introduces version 2 and version 3 of the out-of-band (OOB) specification.

Version 2 includes the following changes:

  • Technology transitioning: Allows dynamic switching between ranging technologies during an active session without interrupting the data stream.
  • Ranging Capability Response message payload: Includes a Supported technology transitioning field to indicate support for make-before-break technology transitions.

Version 3 includes the following changes:

  • Motion Notification message payload: A data element (DE) that the advertiser device uses to notify the initiating device of a motion change.
  • Ranging Configuration message payload: Includes a Motion support field to let the initiator signal the responder that it wishes to be notified of any changes in the peripheral movement from the responder.

Display

Desktop windowing

In Android 17 and higher, you can enable per-display desktop windowing.

Large screen app compatibility

Android 17 introduces config_isCameraCompatSimulateRequestedOrientationTreatmentEnabled, config_isCameraCompatSimReqOrientationLandscapeTreatmentEnabled, and config_enableSelfKillRecoveryBetweenInternalDisplays settings for large screen app compatibility overlays.

Media

VVC support

Android 17 supports a video encoding standard, Versatile Video Coding (VVC), for decoding scenarios. The Android platform provides framework and parser support, but to enable VVC decoding, the SoC vendor or OEM must supply a decoder, either software or hardware, and the OEM must ensure it is enabled and properly registered with the Android media subsystem.

Performance

Gather general health information

To improve system health diagnostics with trade-in mode, Android 17 adds camera geometry and UICC slot information.

Memory Limiter

The Memory Limiter is a system service that monitors and limits the memory usage of application processes using Linux cgroup v2. The Memory Limiter prevents individual apps from consuming excessive system memory, which reduces system-wide memory pressure and prevents aggressive out-of-memory (OOM) killing of critical processes.

Memory management daemon

Android 17 and higher supports memory management daemon (mmd), a system daemon, which is responsible for configuring and managing ZRAM-related maintenance tasks.

Process memory guardian daemon

The process memory guardian daemon (PMGD) protects system health and the user experience by proactively managing memory usage on a per-process basis. The daemon improves overall device stability by gracefully enforcing memory ceilings on specific target processes, verifying that isolated memory leaks or spikes don't cause system-wide performance degradation.

Permissions

Contact Picker

The Android Contact Picker lets app developers retrieve user-selected contact details without requiring full contact permissions. This approach aligns with Android's commitment to data transparency and minimized permission footprints.

Key features of the Contact Picker include:

  • Privacy-first sharing: Grants apps read access only to selected data.
  • Standardized UI: Provides a consistent user experience with built-in search, profile switching, and multi-selection.
  • Backward compatibility: Automatically takes over legacy Intent.ACTION_PICK requests for apps targeting Android 17 and higher.

Location indicators

Android 17 introduces real-time location indicators to the status bar, expanding the privacy transparency already available for camera and microphone usage. When a nonsystem app accesses device location in the foreground, a dedicated icon appears and transitions into a persistent dot, letting users tap and see which apps are tracking their data.

Security

Hardware-wrapped key improvements

Android 17 and higher simplifies the implementation of the existing hardware-wrapped keys storage encryption feature.

The simplified implementation generates, imports, and prepares hardware-wrapped inline encryption keys using Linux kernel ioctls instead of KeyMint. The Linux kernel communicates with the key wrapping hardware to perform these operations.

This simplifies the design by removing the unnecessary involvement of KeyMint in these operations. It also achieves compatibility with the upstream Linux kernel.

Implementers of hardware-wrapped keys must add support for the new Linux kernel ioctls.

After that, use wrappedkey instead of wrappedkey_v0 in the fstab to enable the new implementation. This includes an on-disk format change, so this is applicable only to newly launching devices. Devices already using wrappedkey_v0 must continue using wrappedkey_v0.

KeyMint implementations used only on devices launching with Android 17 and higher don't need to support TAG_STORAGE_KEY or convertStorageKeyToEphemeral. Their functionality has been superseded by Linux kernel ioctls. KeyMint remains used for other purposes.

Lock screen rate-limiting UX

Android 17 and higher uses stronger default lock screen rate-limiting than lower versions. Users can experience long lock screen timeouts in rare cases, so Android 17 and higher provides the following enhanced user feedback on the lock screen:

  • Improved time formatting: The lock screen displays timeouts lasting 1 minute or longer using larger time units for better readability, such as Try again in 30 minutes instead of Try again in 1800 seconds.
  • Recovery shortlink: The lock screen shows a shortlink (defaulting to g.co/android/unlock) to help users find recovery options on another device. This link is configurable through the config_lockscreenLockoutShortlink resource.
  • Duplicate attempt feedback: On devices with a Weaver implementation, the system displays a unique message when a duplicate incorrect guess is entered. This specific feedback is unavailable on Gatekeeper-only devices because they don't provide separate response codes for incorrect guesses and other verification failures.
  • Consistent credential entry management: The lock screen disables the PIN entry pad if the device uses a PIN credential, similar to password and pattern credential entry.

The LockPatternUtils#getLockoutAttemptDeadline(int) method is renamed to LockPatternUtils#getLockoutEndTime(int) and provides the lockout end time from a system-managed cache. This update resolves an issue where they were cached only per LockPatternUtils instance, erroneously showing no active timeout if one was triggered using another instance. Developers of system credential prompts such as the lock screen and settings activities must update them to verify existing timeouts before allowing further attempts.

Policy compatibility

In Android 17 and higher, devices launching with the properties described in Policy compatibility must enable the memfd_class policy capability and update their policy related to shared memory to support memfd_file class objects.

Secure element prewarming

In Android 17 and higher, the Weaver HAL interface includes a method to prewarm the secure element. When a Weaver HAL supporting this method is present, Android calls the prewarming method when the lock screen PIN, pattern, or password starts being entered. This method can decrease the latency of verifying the lock screen PIN, pattern, or password by up to 200 milliseconds, depending on the secure element and its power management implementation.

Weaver HAL implementers can support this method when it improves performance.

Setup

Troubleshoot build errors

In Android 17 and higher, the AOSP source tree is read-only. If a build you're running attempts to modify the source tree during product config, or any other part of the build, the build fails and reports read-only file system errors.

To resolve this issue, set the source tree to read-write.