Target SDK upgrades

Modern Android Junior Kotlin 2.0+ API 24+ Reviewed By Best Latest Apps

Pick the fix

A team bumps targetSdk to 36 the week of the Play deadline and buttons hide under the navigation bar. What would have helped?

Options
Hint 1 of 1

How do you find behaviour changes before the deadline?

Choose an answer, then open Show answer below to check it.

Show answer

Answer: A Upgrading earlier and testing behaviour changes one by one with compatibility toggles

Correct. Changes like edge-to-edge show up early, not at the deadline.

Why not the others?
  • B Lowering minSdk. Not related.
  • C Raising compileSdk only. Doesn't trigger behaviour changes.
  • D Skipping the update. Play blocks updates that don't meet the target requirement.

30-second answer

targetSdk tells Android which behaviour changes your app is ready for; compileSdk is the API you compile against; minSdk is the oldest you support. Raising targetSdk opts into new rules, such as edge-to-edge at 35 and predictive back defaults at 36. Google Play requires apps to target an API level within about a year of the newest release, so plan upgrades yearly.

Practise saying it · 30 s. No recording, just a timer

Explain targetSdk upgrades.

Say your answer out loud, then check which of these points you covered:

  • minSdk, compileSdk, targetSdk
  • Behaviour changes per target
  • Play target requirement
  • Compatibility toggles

Deep dive

Read each release's 'behaviour changes: apps targeting' page.

Use the compatibility framework toggles to test changes one by one.

compileSdk can move ahead of targetSdk.

Lint flags many target-related issues.

Common mistakes

  • Bumping targetSdk without reading the changes.
  • Confusing minSdk, compileSdk and targetSdk.
  • Waiting until Play blocks updates.

Senior take & follow-ups

Define the three SDK values, then the upgrade process.

Follow-up questions

Think of your answer first, then open the hint.

  1. What does the compatibility framework do?

    Show hint

    Lets you turn individual behaviour changes on or off for testing.

  2. Can compileSdk be higher than targetSdk?

    Show hint

    Yes, it's common.

Suggest a fix if something here is wrong or out of date.