Mr.AndroidShin / Dev Tools

Debugging log · Play Console

"Your app must target Android 16 (API 36)" — the Aug 31 deadline

I got the same Play Console notice on ten apps at once: an update can't be submitted unless it targets a recent enough Android version. The wording is bureaucratic, but the effect is concrete and dated — and once I started fixing it, a single one-line change quietly turned into a build-system upgrade. Here's what the requirement actually means and the chain reaction it sets off.

The short version: from August 31, 2026, new apps and app updates must target API level 36 (Android 16) to be submitted to Google Play. It does not pull your live app from the store — it only blocks new uploads. Bumping targetSdk to 36 also requires compileSdk 36, which requires AGP 8.9+, which requires a newer Gradle. Plan for the whole chain, not just one number.

What the requirement blocks (and what it doesn't)

This is the part worth being precise about, because the panic is usually worse than the reality. After the deadline, an app that still targets API 35 or lower can't publish new updates — you'll be stopped at upload. But the currently published version stays live and installable for existing and new users. So missing the date doesn't delete your app; it freezes your ability to ship changes until you comply. There's typically a deadline-extension request available in Play Console if you need a few more weeks.

Separately, to keep showing up for users on the newest devices, an app generally needs to target at least API 35. So 35 keeps you visible; 36 is what unlocks new uploads after the deadline.

The one-line change

In your module's build file:

android {
    compileSdk = 36        // was 35
    defaultConfig {
        targetSdk = 36     // was 35
    }
}

If only it stopped there. The moment you set compileSdk = 36, the build wants tooling new enough to know about Android 16.

The chain reaction

Across every project I touched, the same dependencies had to move together:

None of these is hard individually. The trap is expecting a one-line edit and getting a version-matrix puzzle. Do them in the order above and each error message points at the next step.

Behavior changes to actually test

Targeting 36 opts your app into Android 16 behavior changes. The two that bit me most:

Bump the versionCode with every rebuild before you upload — it's the easiest step to forget when you're batching ten apps, and Play rejects a duplicate version code immediately.

This touches Play policy and dates that can change; check the current requirement in the Play Console before your final upload.