A short checklist for the target API requirement, edge-to-edge, the new back behaviour and large-screen changes.
Since 31 August 2026, new apps and updates submitted to Google Play must target Android 16 (API 36). For apps that aren’t updated, the minimum is API 35. An app below that is no longer shown to new users on newer Android versions. If you need more time, you can request an extension until 1 November 2026 in Play Console.
Here are the four changes I ran into while moving my own apps to targetSdk 36.
1. No more escaping edge-to-edge
On Android 15 you could temporarily keep the old layout with windowOptOutEdgeToEdgeEnforcement. When an app targeting API 36 runs on an Android 16 device, that setting is ignored. The app draws behind the status bar and the navigation bar.
If you use Compose, the work is usually this:
override fun onCreate(savedInstanceState: Bundle?) {
enableEdgeToEdge()
super.onCreate(savedInstanceState)
setContent {
Scaffold { innerPadding ->
MainScreen(modifier = Modifier.padding(innerPadding))
}
}
}
On screens that don’t use Scaffold, add Modifier.windowInsetsPadding(WindowInsets.systemBars) or safeDrawingPadding(). In particular, check that buttons at the bottom don’t end up under the navigation bar.
2. onBackPressed() is no longer called
In an app targeting API 36, predictive back animations are on by default on Android 16 devices. onBackPressed() is not called and the KEYCODE_BACK event never reaches the app. If you catch the back button to do something like “press again to exit”, that code silently stops working.
In Compose the answer is BackHandler:
BackHandler(enabled = searchOpen) {
searchOpen = false
}
On View-based screens, use OnBackPressedDispatcher. If you can’t migrate right away, android:enableOnBackInvokedCallback="false" in the manifest temporarily restores the old behaviour, but it isn’t a permanent fix.
3. Orientation locks are ignored on large screens
On screens whose smallest width is 600 dp or more (tablets, unfolded foldables) these settings no longer have any effect:
screenOrientation="portrait"and similar orientation locksresizeableActivity="false"minAspectRatioandmaxAspectRatio
The app fills the whole window. A screen designed only for portrait may show overflowing or oddly stretched components on a tablet in landscape. Creating a tablet profile in the emulator is enough to test it.
Games are exempt from this rule: apps with android:appCategory="game" in the manifest keep the old behaviour. If you make games, it’s worth checking that this line really is in your manifest.
4. elegantTextHeight is ignored
On Android 15 this setting defaulted to true, and some people set it to false to get the old compact font back. Android 16 ignores it completely. For most text the difference is small, but check whether lines get cut off in fixed-height text boxes.
Quick checklist
- Set
compileSdkandtargetSdkto 36 and update AGP and your dependencies. - Open every screen on an Android 16 emulator and check the top and bottom spacing.
- Move every place that catches the back button to
BackHandlerorOnBackPressedDispatcher. - Browse the app on a tablet emulator in landscape.
- Upload the build to the closed testing track first and read Play Console’s pre-launch report.
If moving your app to API 36 is giving you trouble, get in touch.