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 on the corresponding link to read the documentation.
Category | Type | Name |
---|---|---|
Accessibility | Change (all apps) |
Test your app with non-linear font scaling Because Android supports font scaling up to 200%, you should perform UI testing to ensure that your app can accommodate larger font sizes without impacting usability. |
Accessibility | New features and APIs |
Non-linear font scaling to 200% Android supports font scaling up to 200%, providing low-vision users with additional accessibility options that align with Web Content Accessibility Guidelines (WCAG). |
Core functionality | Change (all apps) |
Apps can kill only their own background processes When your app calls killBackgroundProcesses() , the API can kill only the background processes of your own app. |
Core functionality | Change (all apps) |
Schedule exact alarms are denied by default The SCHEDULE_EXACT_ALARM permission is no longer being pre-granted to most newly-installed apps targeting Android 13 and higher—the permission is denied by default. |
Core functionality | Change (all apps) |
Context-registered broadcasts are queued while apps are cached The system may place context-registered broadcasts in a queue when these broadcasts are queued for delivery to an app that's in the cached state. |
Core functionality | Change (apps targeting 14+) |
Foreground service types are required If your app targets Android 14, it must specify at least one foreground service type for each foreground service within your app. |
Core functionality | Change (apps targeting 14+) |
OpenJDK 17 updates As part of the OpenJDK 17 updates, there are some changes that can affect app compatibility, such as changes to regular expressions and UUID handling. |
Core functionality | New features and APIs |
OpenJDK 17 updates Android 14 includes features and improvements that further align with the OpenJDK 17 LTS release, including both library updates and Java 17 language support for app and platform developers. |
Internationalization | New features and APIs |
Per-app language preferences Android 14 expands on the per-app language features that were introduced in Android 13 (API level 33) with some additional capabilities. |
Graphics | New features and APIs |
Paths are now queryable and interpolatable Query paths to find out what's inside of them, interpolate between paths whose structures match exactly, and enable morphing effects. |
Internationalization | New features and APIs |
Grammatical Inflection API The Grammatical Infection API allows you to more easily add support for users who speak languages that have grammatical gender, providing a more personalized and natural-sounding user experience for those languages. |
Internationalization | New features and APIs |
Regional preferences Apps can receive notifications when a user changes their regional preferences and mirror these preferences in app. |
Non-SDK interface restrictions | Change (apps targeting 14+) |
Updates to non-SDK interface restrictions Android 14 includes updated lists of restricted non-SDK interfaces based on collaboration with Android developers and the latest internal testing. |
Security | Change (all apps) |
Minimum installable target API level Apps with a targetSdkVersion lower than 23 can't be installed. |
Security | Change (all apps) |
Media owner package names might be redacted The value of OWNER_PACKAGE_NAME is redacted unless apps meet certain conditions. |
Security | Change (apps targeting 14+) |
Restrictions to implicit and pending intents For apps targeting Android 14, Android restricts apps from sending implicit intents to internal app components. |
Security | Change (apps targeting 14+) |
Runtime-registered broadcasts receivers must specify export behavior Apps and services that target Android 14 and use context-registered receivers are required to specify a flag to indicate whether or not the receiver should be exported to all other apps on the device. |
Security | Change (apps targeting 14+) |
Safer dynamic code loading If your app targets Android 14 and uses Dynamic Code Loading (DCL), all dynamically-loaded files must be marked as read-only. |
Security | Change (apps targeting 14+) |
Zip path traversal For apps targeting Android 14, Android prevents the Zip Path Traversal Vulnerability by restricting what zip file entry names can contain. |
Security | Change (apps targeting 14+) |
Additional restrictions on starting activities from the background Apps that target Android 14 must opt in if they want to grant their background activity launch privileges to another app either when sending that app's PendingIntent , or binding that app's service. |
User experience | Change (all apps) |
Grant partial access to photos and videos The user can grant partial access to their photos and videos when an app requests any visual media permissions that were introduced in Android 13 (API level 33): READ_MEDIA_IMAGES and READ_MEDIA_VIDEO . |
User experience | Change (all apps) |
Updated permissions requirements for full-screen intent notifications With Android 14, only apps that provide calling and alarms will be allowed to use the USE_FULL_SCREEN_INTENT permission to support full-screen intent notifications. |
User experience | Change (all apps) |
Non-dismissable notifications If your app shows non-dismissable foreground notifications to users, Android 14 has changed the behavior to allow users to dismiss such notifications. |
User experience | Change (all apps) |
Data safety information Your app's data safety information, such as data-sharing practices, now appears in some permission rationale system dialogs and in system notifications. |
User experience | New features and APIs |
Sharesheet custom actions and improved ranking Android 14 updates the system sharesheet to support custom app actions and more informative preview results for users. |
User experience | New features and APIs |
Support for built-in and custom animations Apps that use the new system back APIs can opt in to predictive back to automatically receive in-app animations and also support custom transitions. |
User experience | New features and APIs |
Improvements for app stores Android 14 introduces several new PackageInstaller APIs that allow app stores to improve their user experience. |
User experience | New features and APIs |
Screenshot detection A privacy-preserving API that invokes a callback and displays a toast message when the user takes a screenshot while an app activity is visible. |