The following table lists all documented features and behavior changes that might affect app developers. Use this list to find changes that affect you, and then click the corresponding link to read the documentation.
| Category | Type | Name |
|---|---|---|
| Security | Change (all apps) |
Block cross profile loopback traffic Cross-profile loopback traffic is no longer permitted by default. |
| Security | Change (all apps) |
Per-app keystore limits Apps have a limit on the number of keystore keys they can create, depending on their target API level; creating more keys causes an exception. |
| Security | Change (all apps) |
Restrict implicit URI grants If Android apps initiate intents with URIs, we recommend that they explicitly preallocate all necessary URI permissions instead of relying on the system to automatically grant them. |
| Security | Change (apps targeting 17+) |
Enable CT by default In Android 16 we allowed apps to opt-in to the Certificate Transparency feature. For Android 17, we are planning to enable Certificate Transparency for all TLS connections performed by the device. |
| Security | Change (apps targeting 17+) |
Safer Native DCL—C Aps must ensure DCL modules cannot be overwritten without being detected. |
| Security | Change (apps targeting 17+) |
Activity Security Various changes to enhance platform security, including relaunching the ASM. |
| Security | Change (apps targeting 17+) |
Restrict PII fields in CP2 data view Apps that target Android 17 or higher can't access certain PII fields in the CP2 data view. |
| Security | Change (apps targeting 17+) |
Enforce strict SQL checks in CP2 For apps targeting Android 17 or higher, Contacts Provider 2 enforces strict SQL query validation when the ContactsContract.Data table is accessed without READ_CONTACTS permission. |
| Security | New features and APIs |
Android Advanced Protection Mode (AAPM) Offers Android users a powerful new set of security features. |
| Security | New features and APIs |
PQC APK Signing Adds support for APKs to be signed with a new post-quantum crypto (PQC) signing key. |
| Security | New features and APIs |
Yell Yell notifies At-Risk-Users (ARUs) of the detection on their Android-powered device of one or more attempts to reach a domain name associated with malware or exploit campaigns. |
| Core functionality | Change (all apps) |
App memory limits Android 17 introduces new app memory limits based on the device's total RAM. |
| Core functionality | Change (all apps) |
Notification bitmap offloading Large notification bitmaps are offloaded from active memory to long-term storage. |
| Core functionality | Change (all apps) |
Android NFC changes for Android 17 There is now extra protection for NFC tag reading from the background. |
| Core functionality | Change (all apps) |
App memory runtime limits The system will be more rigorous in enforcing app memory limits. Exceeding these limits can cause apps to crash. |
| Core functionality | Change (all apps) |
usesClearTraffic deprecation plan We plan to deprecate usesClearTraffic in a future release. Apps that need to make HTTP connections should migrate to using network security configuration files instead. |
| Core functionality | Change (apps targeting 17+) |
Trash in files New APIs to support trash in DocumentsUI. |
| Core functionality | Change (apps targeting 17+) |
New NPU feature flag Apps that target Android 17 must declare the android.hardware.npu feature if they need to access NPUs. |
| Core functionality | Change (apps targeting 17+) |
Memory restrictions for notification custom views Android 17 (API level 37) introduces stricter memory usage checks for notifications using custom views |
| Core functionality | Change (apps targeting 17+) |
Static final fields are now unmodifiable Apps that target Android 17 or higher cannot modify static final fields. Attempting to do so causes an exception. |
| Core functionality | Change (apps targeting 17+) |
New lock-free implementation of MessageQueue Apps targeting Android 17 or higher get a new lock-free implementation of MessageQueue. |
| Core functionality | New features and APIs |
New ProfilingManager triggers Android 17 several new system triggers to ProfilingManager to help you collect in-depth data to debug performance issues. |
| Core functionality | New features and APIs |
JobDebugInfo APIs New `JobDebugInfo` APIs to help developers debug their JobScheduler jobs. |
| Core functionality | New features and APIs |
WorkManager debug APIs New APIs to track WorkManager events and query statistics. |
| User experience and system UI | Change (all apps) |
Improved autofill detection with noise injection Android 17 provides the new AutofillNoiseInjectedData APIs to enhance autofill field detection. |
| User experience and system UI | Change (all apps) |
Restoring default IME visibility after rotation When the device is rotated or the configuration is changed, the system uses the default visibility mode to determine whether to show the IME. |
| User experience and system UI | Change (apps targeting 17+) |
User-agent reduction for WebView Beginning with Android 17, the default user-agent string for WebView is shorter. |
| User experience and system UI | New features and APIs |
Dedicated Assistant volume stream Android 17 introduces a dedicated Assistant volume stream for Assistant apps, enabling independent control from media volume. Assistant apps with access to the new MODE_ASSISTANT_CONVERSATION can enable further volume improvements - control outside of an active playback or via Bluetooth peripherals. |
| User experience and system UI | New features and APIs |
MetricStyle template Android 17 introduces the MetricStyle template to support health and fitness, timers, stopwatch, and travel use cases. |
| User experience and system UI | New features and APIs |
Live Update - Semantic color API Live Updates introduces a Semantic color API to support colors with strong associations with safety, danger, and caution. |
| User experience and system UI | New features and APIs |
Handoff Handoff allows the user to begin a task on one device then continue it onanother device. |
| User experience and system UI | New features and APIs |
Gen UX widgets With generative widget, we'll help users track bespoke information or needs, like custom weather, time, price tracking, sports standings, and more. |
| User experience and system UI | New features and APIs |
Android Context Engine An effort to define the storage and serving constructs of context and other user information to help improve agents running on the Android platform. |
| Privacy | Change (all apps) |
Restricted message access Most apps now cannot access end-to-end encrypted messages. |
| Privacy | Change (apps targeting 17+) |
OTP protection for standard SMS messages Non-priority apps do not have immediate access to one-time passwords (OTP) even if users have granted them SMS permission. |
| Privacy | Change (apps targeting 17+) |
Local network permission required for apps targeting Android 17 Apps that target Android 17 cannot access local devices unless they have an appropriate permission in the nearby devices group. This requirement was opt-in in Android 16. |
| Privacy | Change (apps targeting 17+) |
ECH (Encrypted Client Hello) enabled For apps targeting Android 17 or higher, ECH is enabled for TLS connections. |
| Privacy | Change (apps targeting 17+) |
Hiding passwords from physical devices Device no longer shows last-typed password entered from a physical device. |
| Privacy | New features and APIs |
Android contacts picker Android 17 introduces a new contacts picker as a permission-free way to give apps access to the user's contacts. |
| Human input | Change (all apps) |
Touchpads deliver relative events by default during pointer capture Beginning with Android 17, touchpads deliver relative pointer events (like with mouse events), instead of absolute events. |
| Media | Change (all apps) |
Background audio hardening Apps cannot play audio or use other disruptive audio APIs unless they are visible or have a foreground service. |
| Media | New features and APIs |
PiP Jetpack library Jetpack library to help you handle Picture-in-Picture (PiP) in media playback apps. |
| Media | New features and APIs |
New BYPASS_CONCURRENT_RECORD_AUDIO_RESTRICTION permission to capture sensitive audio Introduces new BYPASS_CONCURRENT_RECORD_AUDIO_RESTRICTION permission for concurrent audio capture during calls and other sensitive audio use cases. |
| Connectivity | Change (all apps) |
Autonomous re-pairing for Bluetooth bond losses The system will automatically re-establish Bluetooth bonds in the background after a bond loss occurs, eliminating the need for users to manually unpair and re-pair devices in Settings |
| Connectivity | Change (apps targeting 17+) |
Consistent BluetoothSocket read() behavior for RFCOMM Apps targeting Android 17 or higher will have the BluetoothSocket RFCOMM implementation align with the standard Java InputStream behavior. |
| Connectivity | New features and APIs |
Constrained satellite networks Focuses on enabling Android apps to function effectively over low-bandwidth satellite networks. |
| Accessibility | Change (apps targeting 17+) |
Accessibility support of complex IME physical keyboard typing By allowing IMEs to convey more text-change information through the editor to accessibility service, this feature helps screen readers deliver more consistent, natural, and reliable feedback for complex IMEs. |
| Device form factors | Change (apps targeting 17+) |
Platform API changes to ignore orientation, resizability and aspect ratio constraints on large screens (sw>=600dp) Android 16 introduced platform API changes to ignore orientation, resizability, and aspect ratio constraints on large screens (sw >= 600dp). Apps that target Android 17 will no longer be able to opt out of these changes. |
| Camera | New features and APIs |
Camera feature combination query Jetpack API API to let apps query whether a combination of camera features is supported at the same time. |
| Wear OS | New features and APIs |
New Android Media APIs to improve bridging of media sessions New Media APIs will allow Wear Media Controls to maintain ownership of media sessions bridged to a watch. |
| Wear OS | New features and APIs |
Enable Origin Transitions on Tiles through the PendingIntents API in Wear ProtoLayout To enable Origin Transitions for all Tiles use cases, we are introducing a PendingIntents API for App Launch which will also support the Origin Transitions UX. |
| Wear OS | New features and APIs |
Backup coverage for Pixel Watches 0P/1P Pixel Watch apps should support backup through Google One. |
| Graphics | New features and APIs |
WebGPU on Android OpenGL ES support is moving to maintenance mode and new feature development will be done in Vulkan + WebGPU. |