Skip to content

AI & TechnologyGoogle Play Requires Target API 36: The Android 16 Update

Simon Dziak
Simon Dziak
Founder & developer, App369
LinkedIn
Published October 18, 2026 · Updated November 2, 2026Updated November 2, 2026Facts last verified October 21, 20267 min

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 offered an extension to November 1, 2026, through a form link in Play Console Notifications. That date has passed, so an update now has to target API 36.
  • 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.

The August 31, 2026 deadline has passed: Google Play now requires new apps and updates to target Android 16 (API level 36). The extension Google offered, to November 1, 2026, has also passed. 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 21, 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 typeMust target, for new apps and updates since August 31, 2026
Phone and tablet appsAndroid 16 (API level 36)
Wear OS and Android Automotive OSAndroid 15 (API level 35)
Android TV and Android XRAndroid 14 (API level 34)

Source: Google Play target API level requirement, last updated October 16, 2026.

Google’s page also says:

  • Extension: Google offered an extension to November 1, 2026. Google’s Help article says impacted apps received an extension request form link via their Play Console Notifications. That date has passed.
  • 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:

ChangeWhat Google saysTemporary way out
Edge-to-edgeApps can no longer opt out of drawing behind the status and navigation bars. windowOptOutEdgeToEdgeEnforcement is deprecated and disabledNone for API 36
Predictive backPredictive back animations are on by default. onBackPressed is not called and KEYCODE_BACK is not dispatchedandroid:enableOnBackInvokedCallback="false" in the manifest
Large screensOn displays at least 600dp wide, orientation, resizability and aspect ratio restrictions are ignored, so the app fills the windowPROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY. Google says it won’t apply once you target API 37, which Google Play will require for new apps and updates in August 2027

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 versionDefault flutter.targetSdkVersion
3.29 (February 12, 2025)35
3.32 (May 20, 2025)35
3.35 (August 14, 2025) and later36

Release dates from Flutter’s release archive.

What that means for a Flutter app:

  1. Check android/app/build.gradle or build.gradle.kts. If it uses flutter.targetSdkVersion, Flutter 3.35 or later gives you 36. If it has a hard-coded number, change it to 36 yourself (targetSdk = 36 in a build.gradle.kts file).
  2. 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 SafeArea or padding from MediaQuery, including bottom sheets and screens with a bottom bar.
  3. Back navigation. If the app or a plugin overrides onBackPressed in Android code, that override won’t be called on Android 16. My advice: use PopScope on the Flutter side for back handling, and check plugins that intercept back.
  4. Tablets. If the app locks orientation with SystemChrome.setPreferredOrientations or 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.

  1. Check the target your last release used. Look at targetSdk in the build file for that release, or the app bundle details in Play Console. To check your own build files against these dates, the free Google Play deadline checker reads them in your browser.
  2. Ship the API 36 change with your next update. The extension Google offered ended on November 1, 2026.
  3. 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.
  4. Ship to a closed testing track first. Catch layout and back-gesture issues before your users do.

For every other dated Apple, Google Play and Firebase requirement in 2026 and 2027, see App Store and Google Play deadlines for 2026 and 2027.

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.

Publishing a new app from a personal Play Console account created after November 13, 2023? Google also asks for a closed test with 12 testers for 14 days first: how to run it so it counts.

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 offered an extension to November 1, 2026, and that date has passed.

Link to this answer

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.

Link to this answer

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.

Link to this answer

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.

Link to this answer

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. Google's Android 17 post says Play will require new apps and updates to target API 37 in August 2027, with no option to opt out.

Link to this answer

Sources

  1. Android Developers, Meet Google Play's target API level requirement (last updated October 16, 2026)
  2. Play Console Help, Target API level requirements for Google Play apps
  3. Android Developers, Behavior changes: apps targeting Android 16 or higher (last updated October 16, 2026)
  4. Android Developers Blog, Prepare your app for the resizability and orientation changes in Android 17
  5. Android Developers, Ignore orientation, resizability and aspect ratio restrictions on Android 17 (last updated October 16, 2026)
  6. Flutter on GitHub, FlutterExtension.kt at 3.35.0
  7. Flutter on GitHub, app build.gradle.kts template at 3.35.0
  8. Flutter on GitHub, app build.gradle template at 3.10.0
  9. Flutter release archive (macOS)
Tags
#target api level 36 #google play target sdk 36 #android 16 target api requirement #targetSdkVersion 36 flutter #play console target api level warning #edge to edge opt out android 16 #predictive back android 16 #onBackPressed not called android 16 #flutter targetSdkVersion default
Share:

Related Resources

Related guides