Key takeaways
- Since August 31, 2026, Google Play requires new apps and app updates to target Android 16 (API level 36). Wear OS and Android Automotive OS apps need API 35, and Android TV and Android XR apps need API 34.
- Google says you'll be able to request an extension to November 1, 2026, and that the extension forms will be in Play Console.
- Existing apps must target API 35 or higher to stay available to new users on devices running a newer Android version than the app targets.
- Targeting API 36 changes behavior on Android 16 devices: apps can no longer opt out of edge-to-edge, predictive back is on by default and onBackPressed is no longer called, and orientation and resizability limits are ignored on screens at least 600dp wide.
- Flutter 3.35 and later set flutter.targetSdkVersion to 36. Flutter 3.29 and 3.32 set it to 35, so an app on those versions has to upgrade Flutter or set 36 itself.
Pricing an app? Try the free app cost calculator or get a range for your project in the instant quote.
Since August 31, 2026, Google Play only accepts new apps and updates that target Android 16 (API level 36), and Google says you'll be able to request an extension to November 1, 2026. Raising targetSdkVersion is one line, but it turns on Android 16 behavior: no edge-to-edge opt-out, predictive back by default, and no orientation lock on tablets. Test those three before you ship. In a Flutter app, the quickest path is usually Flutter 3.35 or later, which targets 36 by default.
The requirements below come from Google's target API page and its Android 16 behavior changes, and the Flutter defaults from Flutter's source code, as listed in the sources. I checked each one on October 18, 2026.
Disclosure: App369 is my studio. I build and fix Android and iOS apps, mostly in Flutter, and the last section mentions what I sell. Google doesn't pay me for anything on this page.
The requirement
| App type | Must target, for new apps and updates from August 31, 2026 |
|---|---|
| Phone and tablet apps | Android 16 (API level 36) |
| Wear OS and Android Automotive OS | Android 15 (API level 35) |
| Android TV and Android XR | Android 14 (API level 34) |
Source: Google Play target API level requirement, last updated October 16, 2026.
Google's page also says:
- Extension: if you need more time, you'll be able to request an extension to November 1, 2026. Google says the extension forms will be in Play Console "later this year", so check there for the form.
- Existing apps: to stay available to new users on devices running a newer Android version than the app targets, an existing app must target API 35 or higher. An app that targets API 34 or lower is only available on devices running that Android version or lower.
- Exception: permanently private apps for one organization's internal use.
What changes when you target API 36
Google's Android 16 behavior changes apply to apps that target API 36 and run on Android 16 or higher. These are the three I'd test first:
| Change | What Google says | Temporary way out |
|---|---|---|
| Edge-to-edge | Apps can no longer opt out of drawing behind the status and navigation bars. windowOptOutEdgeToEdgeEnforcement is deprecated and disabled | None for API 36 |
| Predictive back | Predictive back animations are on by default. onBackPressed is not called and KEYCODE_BACK is not dispatched | android:enableOnBackInvokedCallback="false" in the manifest |
| Large screens | On displays at least 600dp wide, orientation, resizability and aspect ratio restrictions are ignored, so the app fills the window | PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY. Google says it won't apply once you target API 37 |
The large-screen rule doesn't apply to games (based on android:appCategory), to screens smaller than 600dp, or when users opt in to the app's default behavior in the device's aspect ratio settings.
Flutter apps
Flutter's project template sets the target from the Flutter version: targetSdk = flutter.targetSdkVersion in android/app/build.gradle.kts in Flutter 3.35's template, and targetSdkVersion flutter.targetSdkVersion in older Groovy templates such as Flutter 3.10's. Flutter's FlutterExtension source sets it to:
| Flutter version | Default flutter.targetSdkVersion |
|---|---|
| 3.29 (February 12, 2025) | 35 |
| 3.32 (May 20, 2025) | 35 |
| 3.35 (August 14, 2025) and later | 36 |
Release dates from Flutter's release archive.
What that means for a Flutter app:
- Check
android/app/build.gradleorbuild.gradle.kts. If it usesflutter.targetSdkVersion, Flutter 3.35 or later gives you 36. If it has a hard-coded number, change it to 36 yourself (targetSdk = 36in abuild.gradle.ktsfile). - Edge-to-edge. My advice: Flutter draws its own UI, so the visible risk is content under the status or navigation bar. Check every screen with
SafeAreaor padding fromMediaQuery, including bottom sheets and screens with a bottom bar. - Back navigation. If the app or a plugin overrides
onBackPressedin Android code, that override won't be called on Android 16. My advice: usePopScopeon the Flutter side for back handling, and check plugins that intercept back. - Tablets. If the app locks orientation with
SystemChrome.setPreferredOrientationsor the manifest, test it on a tablet or a large emulator, because Google says that lock is ignored on screens 600dp or wider.
If an older app can't move to Flutter 3.35 because the Android build breaks first, the v1 embedding fix and the Gradle plugin fix cover the two errors Flutter 3.29 introduced. If the app sells in-app purchases, the Billing Library 8 deadline is due at the same time.
What to do now
This section is my advice, not Google's.
- Check the target your last release used. Look at
targetSdkin the build file for that release, or the app bundle details in Play Console. - Request the extension if the change won't ship in time, once the form appears in Play Console. As of October 18, 2026, the November 1 extension date is two weeks away.
- Raise the target, then test on an Android 16 device or emulator. Go through every screen for edge-to-edge, try the back gesture everywhere, and rotate on a tablet-sized emulator.
- Ship to a closed testing track first. Catch layout and back-gesture issues before your users do.
Need a hand?
If an app can't ship an update because of the target API requirement, or something broke after raising it, the App Fix Ticket covers it in two fixed-price steps. A $450 Diagnosis gives you the root cause with evidence and a fixed repair quote within 3 business days, credited toward the fix. If you go ahead, the $1,200 Fix takes 5 business days and comes as a pull request. Or send me a short description.
Frequently asked questions
- What is the Google Play target API level requirement for 2026?
- Google says that starting August 31, 2026, new apps and app updates must target Android 16 (API level 36) or higher. Wear OS and Android Automotive OS apps must target API 35, and Android TV and Android XR apps API 34. Google says you'll be able to request an extension to November 1, 2026.
- What happens to my app if it targets an older API level?
- Google says existing apps must target API 35 or higher to stay available to new users on devices running a newer Android version than the app targets. An app that targets API 34 or lower is only available on devices running that Android version or lower. New apps and updates must target API 36 to be submitted.
- How do I set targetSdkVersion 36 in a Flutter app?
- If android/app/build.gradle uses targetSdkVersion flutter.targetSdkVersion, upgrading to Flutter 3.35 or later sets it to 36, per Flutter's FlutterExtension source. Otherwise set targetSdkVersion 36 (or targetSdk = 36 in build.gradle.kts) yourself, and check that compileSdk is at least 36.
- Why did the back button stop working after targeting Android 16?
- Google says that for apps targeting API 36 on Android 16 devices, onBackPressed is not called and KeyEvent.KEYCODE_BACK is not dispatched. Move to the supported back navigation APIs, or opt out temporarily with android:enableOnBackInvokedCallback="false" in the manifest.
- Can I still lock my app to portrait on tablets?
- Not by default. Google says that for apps targeting API 36, orientation, resizability and aspect ratio restrictions don't apply on displays at least 600dp wide, except for games and when users opt in. A temporary manifest opt-out exists, but Google says it won't apply once you target API 37.
Sources
- Android Developers, Meet Google Play's target API level requirement (last updated October 16, 2026)
- Android Developers, Behavior changes: apps targeting Android 16 or higher (last updated October 16, 2026)
- Flutter on GitHub, FlutterExtension.kt at 3.35.0
- Flutter on GitHub, app build.gradle.kts template at 3.35.0
- Flutter on GitHub, app build.gradle template at 3.10.0
- Flutter release archive (macOS)
Related Resources
Related guides
Play Billing Library 7 Deprecated: Update to 8 by November 1
Google Play Billing Library 7 hit its deadline on August 31, 2026: new apps and updates must use version 8 or later, and Google says its extension runs until November 1, 2026. What changed in version 8, which Flutter in_app_purchase and RevenueCat versions include it, and how to clear the Play Console warning, from Google's docs checked October 18, 2026.
Read moreFlutter "Applying Gradle Plugin Imperatively" Error: The Fix
Since Flutter 3.29 (February 12, 2025), an Android build that still uses apply from: flutter.gradle fails with "You are applying Flutter's main Gradle plugin imperatively using the apply script method, which is not possible anymore." How to move settings.gradle, build.gradle and app/build.gradle to the plugins {} block, from Flutter's docs and source checked October 18, 2026.
Read moreFlutter "Deleted Android v1 Embedding" Build Error: The Fix
Flutter removed the Android v1 embedding in Flutter 3.29 (February 12, 2025), so older projects now stop with "Build failed due to use of deleted Android v1 embedding" or a plugin error about PluginRegistry.Registrar. What the error means, how Flutter decides your app is v1, and the exact AndroidManifest and MainActivity changes, from Flutter's docs and source checked October 18, 2026.
Read more