Google Play Target API 36 in 2026: Deadline, Extension and a Flutter Upgrade Plan for Solo Developers

By giosaia (GSPTeck) · Published 2026-10-09 · Last verified 2026-10-09

Google Play's yearly target API deadline passed on August 31, 2026. If you ship Flutter apps on your own, as I do with CoinDrop, Swappr and IOU, that date decides whether your next update is accepted and whether new users on recent Android versions can still find your older apps. This guide summarizes what the rule says for 2026, what the November 1 extension means, and the practical Flutter upgrade path to Android 16 (API level 36): toolchain, Gradle config, plugins, and the Android 16 behavior changes most worth testing. Everything here is taken from Google's own documentation, checked on 2026-10-09.

What the 2026 target API rule actually says

Google's developer page Meet Google Play's target API level requirement (last updated 2026-10-01) states that starting August 31, 2026:

Two columns summarizing Google Play's rules from August 31, 2026: new apps and updates target API 36 for phones, 35 for Wear OS and Automotive, 34 for TV and XR, with extensions to November 1; existing apps must target API 35 to stay available to new users on newer Android
The 2026 rule in one picture, per Google's target API page.

Two practical readings for solo developers. First, the hard stop is on updates: an app that still targets API 35 keeps working for people who already have it, but you can't publish a bug fix until you target 36 (or until your extension runs out). Second, an app you haven't touched in two years may already be invisible to new users on current phones. The Play Console Help article on target API level requirements has the details on app availability, and Play Console flags affected apps on the dashboard.

Step 1: triage your apps

Before touching code, list every app in your Play Console and note three things: its current targetSdk, when you last published an update, and whether you expect to ship an update before November 1. That gives you three groups:

Step 2: upgrade the Flutter toolchain and Gradle config

Four-step Flutter upgrade path: upgrade the toolchain, AGP and Gradle; set targetSdk and compileSdk to 36; update plugins; test edge-to-edge, back navigation and rotation
Upgrade path from toolchain to testing.

In a standard Flutter project, the Android SDK versions live in android/app/build.gradle.kts (or build.gradle in older projects). The Flutter Android deployment guide shows the default block, where targetSdk = flutter.targetSdkVersion and compileSdk uses Flutter's default too. Flutter manages those defaults to stay compatible with the framework and plugins, so the cleanest route is usually:

  1. Run flutter upgrade on a branch, then flutter doctor, and install the Android 16 SDK platform in Android Studio's SDK Manager.
  2. Check what flutter.targetSdkVersion resolves to on your Flutter version. If it's still below 36, set targetSdk = 36 and compileSdk = 36 explicitly.
  3. Update the Android Gradle Plugin and Gradle wrapper to versions that support API 36. Google's Android Gradle Plugin release notes list the maximum supported API level per AGP version.
  4. Read Flutter's breaking changes page for every release you skipped. Jumping several versions at once is where most surprises come from.

Step 3: plugins and dependencies

Most build failures after a target bump come from plugins, not your own code. Run dart pub outdated and upgrade the plugins that touch Android APIs first: notifications, permissions, camera, in-app purchases, ads, background work. Read each plugin's changelog for “Android 16” or “API 36” notes. Firebase plugins usually move together, so upgrade them as a set. A plugin that hasn't been updated in a long time and touches the back button, window insets or intents is a candidate for replacement.

Step 4: test the Android 16 behavior changes

Grid of Android 16 changes to test: edge-to-edge without opt-out, predictive back on by default, large-screen resizability, ignored orientation locks, onBackPressed skipped, and Safer Intents checks
Android 16 behavior changes most likely to affect a Flutter app.

Targeting API 36 opts your app into behavior changes listed in Google's Android 16 behavior changes for apps targeting 16. The ones most likely to affect a typical Flutter app:

Step 5: release carefully

Two columns of a release plan: before upload, internal testing, the pre-launch report and plugin changelogs; after upload, a staged rollout, watching crashes and ANRs, halting if needed
Ship the API bump like any risky release.

Upload the new build to the internal testing track first and read the pre-launch report, which runs your app on real devices and surfaces crashes and accessibility issues. Then release to production with a staged rollout, starting small. Watch crash and ANR rates in Android vitals and Crashlytics for a couple of days before widening it; I describe my routine in a weekly Crashlytics triage cadence. If something risky needs to ship anyway, put it behind a flag, as in Remote Config kill switches, so you can turn it off without another release. After release, watch Android vitals for a jump in crash or ANR rate; our Android vitals thresholds guide for indie Flutter apps includes a 20-minute weekly check.

A note on the calendar

In recent years Google has raised the required target level each August, with an extension window into the autumn, and the 2026 rule follows that pattern. Putting a recurring reminder in early summer to bump the target, upgrade Flutter and test on the new Android release saves a lot of October stress. It's the same reason I keep backups and secret rotation on a schedule rather than waiting for an incident.

FAQ

Do I have to target API 36 right now?

To publish new apps or updates, yes, unless you've been granted an extension to November 1, 2026. Existing apps only need API 35 to stay available to new users on newer devices.

Will my old app disappear from Google Play?

Not for existing users. An app below API 35 stops being offered to new users on devices running a higher Android version than it targets.

Is changing targetSdk enough?

No. Raising the target opts you into new behaviors, so test edge-to-edge, back navigation, large screens and intents before you release.

Where do I request the extension?

In Play Console. Google says the extension forms are available there; look for the target API notice on your app's dashboard.

Sources

More notes for solo developers: all GSPTeck articles.