Guide · AndroidUpdated September 27, 2026
Google Play target API 36: what changes and how to upgrade
Google Play now requires new apps and app updates to target Android 16 (API level 36). This guide lists the exact dates, who is affected, how to request the extension, and the Android 16 behavior changes that actually break apps when you raise targetSdkVersion to 36.
The dates
From Google Play Console Help, checked on September 27, 2026.
- New apps and app updates
- Must target Android 16 (API level 36) or higher from August 31, 2026. Google Play Console Help: Target API level requirements for Google Play apps
- Extension
- You can request an extension to November 1, 2026 if you need more time to update your app. Google Play Console Help: Target API level requirements for Google Play apps
- Existing apps
- Must target Android 15 (API level 35) or higher by August 31, 2026 to remain available to users on devices running Android versions newer than the app’s target. Google Play Console Help: Target API level requirements for Google Play apps
- Wear OS and Android Automotive
- Target API level 35 or higher by August 31, 2026. Google Play Console Help: Target API level requirements for Google Play apps
- Android TV and Android XR
- Target API level 34 or higher by August 31, 2026. Google Play Console Help: Target API level requirements for Google Play apps
- 16 KB page sizes
- From February 1, 2027, app updates that do not support 16 KB memory page sizes cannot be released on Google Play. Android Developers: Support 16 KB page sizes
Who is affected
Anyone who publishes a new app or submits an update on Google Play. Google defines an app update as a new version submitted for review to replace your existing app. If the new version targets less than API 36 and you have no extension, you cannot publish it.
Apps you are not updating are covered by the separate rule for existing apps: below API 35, they stop being available to users whose devices run an Android version newer than the app’s target API level. Apps that are permanently private and used only internally are exempt.
In practice, the requirement hits hardest when you need to ship an urgent fix. A crash fix or a payment fix cannot go out until the target is raised, so the upgrade is best done before the next release you actually care about.
How to request the extension to November 1, 2026
Google offers the extension through Play Console. The extension form is available from the details page of the warning or issue on the Policy status page in Play Console. Open Policy status, find the target API level warning for your app, open its details and submit the request there.
The extension moves the deadline to November 1, 2026; it does not waive the requirement. Use the time to do the upgrade properly rather than to postpone it.
Android 16 behavior changes for apps targeting API 36
These apply when your app targets API 36 and runs on Android 16. Each is from the Android 16 behavior changes page on developer.android.com.
Edge-to-edge opt-out is gone
The windowOptOutEdgeToEdgeEnforcement attribute is deprecated and disabled for apps targeting Android 16. Apps targeting API 35 were already drawn edge-to-edge on Android 15; now the temporary escape is removed, so every screen must handle system bar, display cutout and gesture insets.
Predictive back is on by default
The system back-to-home, cross-task and cross-activity animations are enabled. onBackPressed is not called and KEYCODE_BACK is not dispatched; migrate to the OnBackInvokedCallback / OnBackPressedCallback APIs. A temporary opt-out is android:enableOnBackInvokedCallback="false".
Orientation and resizability ignored on large screens
On displays with a smallest width of 600dp or more, screenOrientation, resizableActivity, minAspectRatio, maxAspectRatio and setRequestedOrientation are ignored, and apps fill the display. A temporary opt-out property exists but will not apply when targeting API 37. Games are exempt.
elegantTextHeight is ignored
The attribute no longer has an effect, which can change line height for scripts such as Arabic, Lao, Myanmar, Tamil, Gujarati, Kannada, Malayalam, Odia, Telugu and Thai.
Fixed-rate scheduling
For ScheduledExecutorService.scheduleAtFixedRate, at most one missed execution runs when the app comes back, instead of a burst of catch-up runs.
Health and fitness permissions
BODY_SENSORS and related permissions move to granular health permissions under android.permissions.health, such as READ_HEART_RATE and READ_HEALTH_DATA_IN_BACKGROUND.
Other Android 16 changes worth checking
Smaller items from the same pages. The first group applies when targeting API 36; the second applies to all apps running on Android 16, regardless of target.
- Targeting 36: MediaStore#getVersion now returns a value unique to each app.
- Targeting 36: safer intent resolution is available as an opt-in through intentMatchingFlags="enforceIntentFilter".
- Targeting 36: the photo picker pre-selects photos your app owns.
- Targeting 36: new Bluetooth broadcasts for bond loss and encryption changes (ACTION_KEY_MISSING, ACTION_ENCRYPTION_CHANGE).
- Targeting 36: local network access permission is opt-in for now and is planned to be enforced in a later release.
- All apps: JobScheduler runtime quotas are adjusted, and abandoned jobs get the stop reason STOP_REASON_TIMEOUT_ABANDONED.
- All apps: ordered broadcast priority is only respected within the same process.
- All apps: setImportantWhileForeground is ignored.
- All apps: apps that are not 16 KB aligned may run in page-size compatibility mode and show a warning dialog to the user.
Upgrade steps
1. Update the toolchain
Update Android Gradle Plugin, Gradle and the Android SDK platform to versions that support API 36, and raise compileSdk to 36 first. Fix new compile warnings before touching targetSdk.
2. Upgrade dependencies
Upgrade AndroidX, Google Play services, payment, analytics and crash-reporting SDKs. Old SDKs are the most common source of back-handling, inset and native-library problems.
3. Raise targetSdkVersion to 36
Change the target, then build and install on an Android 16 device or emulator. Do the same on a tablet or foldable emulator to see the large-screen behavior.
4. Fix edge-to-edge and insets
Walk every screen. Look for content under the status bar, buttons under the gesture bar, bottom sheets and keyboards covering inputs, and cutouts in landscape.
5. Migrate back handling
Replace onBackPressed overrides and KEYCODE_BACK handling with the callback APIs, and test back from every screen, dialog and bottom sheet.
6. Test large screens and native code
Check layouts in landscape on a 600dp+ device now that orientation locks are ignored. If you ship native libraries, confirm 16 KB page-size support before February 1, 2027.
7. Release in stages
Ship to internal and closed testing first, then roll out to production in stages while watching crash and ANR rates in Android vitals.
Flutter notes
Flutter apps target Android 15 by default starting with Flutter 3.27, so many projects are already one step away. Flutter’s documentation notes that on Android 16 and above you can no longer opt out of edge-to-edge, and that using the opt-out attribute on Android 16 or later might cause the app to crash; if you still need it for Android 15, put it in a version-specific resource directory so it does not apply on 16. Use SafeArea and MediaQuery padding so content avoids the system bars.
For back navigation, Flutter deprecated WillPopScope, Navigator.willPop, Form.onWillPop and Route.willPop in favor of PopScope (canPop and onPopInvokedWithResult), NavigatorPopHandler and Route.popDisposition. The change landed in 3.14.0-7.0.pre and is stable since Flutter 3.16. Replace WillPopScope before raising the target, or back confirmations such as "discard changes?" will stop working.
React Native notes
React Native 0.81 makes Android apps target Android 16 (API level 36) by default. The release notes repeat that Android 16 requires edge-to-edge with no opt-out, and add a Gradle property, edgeToEdgeEnabled, to turn edge-to-edge on for older Android versions too, so the app looks the same everywhere.
Predictive back is enabled by default for apps targeting Android 16; the BackHandler API should continue to work for most use cases, but custom native back handling needs checking. React Native’s built-in SafeAreaView is deprecated in favor of react-native-safe-area-context, which is the practical way to handle insets on every screen.
Timeline
- 2025-08-31
API 35 required
Previous cycle: new apps and updates had to target Android 15 (API level 35).
- 2026-08-31
API 36 required for new apps and updates
Existing apps must target at least API 35 to stay available on newer Android versions. Wear OS and Automotive: API 35. TV and XR: API 34.
- 2026-11-01
Extended deadline
Last date for apps granted an extension through Play Console.
- 2027-02-01
16 KB page sizes required for updates
Updates without 16 KB page-size support can no longer be released.
Questions about Google Play target API 36
What happens if I miss the August 31, 2026 deadline?
You cannot publish new apps or updates that target below API 36 unless you have an extension. Your existing listing is governed by the separate existing-app rule, which requires at least API 35 to stay available to users on newer Android versions.
How do I get the extension?
In Play Console, open Policy status, find the target API level warning, open its details page and submit the extension form there. The extension runs to November 1, 2026.
Does raising targetSdk to 36 break my app?
It can. The most common breakages are layouts under the system bars once edge-to-edge is enforced, back handling that no longer fires, and orientation-locked screens stretched on tablets and foldables.
My Flutter app is on an old version. Do I have to upgrade Flutter?
Usually yes. Recent Flutter versions bring the Android toolchain, edge-to-edge defaults and PopScope-based back handling that target API 36 needs.
Is 16 KB page-size support part of this deadline?
No, it is separate. It applies from February 1, 2027 to apps with native code, directly or through an SDK. Pure Java or Kotlin apps already support it.
Next step
If your app has a target API warning and nobody on hand to fix it, we can take it over: upgrade the target, fix what breaks, and ship the release.
No pitch deck. A straight answer on what's blocking your launch.
Sources
- Google Play Console Help: Target API level requirements for Google Play apps
- Android Developers: Behavior changes — apps targeting Android 16 or higher
- Android Developers: Behavior changes — all apps (Android 16)
- Android Developers: Display content edge-to-edge in views
- Android Developers: Support 16 KB page sizes
- Flutter docs: Default SystemUiMode set to edge-to-edge
- Flutter docs: Android predictive back
- React Native blog: React Native 0.81
Checked September 27, 2026.