DEV Community

Dainy Jose
Dainy Jose

Posted on

Google Play Requires Android 16 (API Level 36) by August 31, 2026 — React Native Migration Guide

Google Play has announced that starting August 31, 2026, all new apps and app updates must target Android 16 (API level 36).

If you're maintaining a React Native application, updating targetSdkVersion isn't just about passing Play Console checks—it's also about ensuring your app remains compatible with the latest Android platform changes.

In this guide, I'll walk you through:

  • Why this change matters
  • How to update your React Native project
  • Important Android 16 behavior changes
  • A testing checklist before releasing

Google Play Target API Requirement

Starting August 31, 2026:

  • New apps must target Android 16 (API level 36)
  • App updates must also target Android 16 (API level 36)
  • Existing apps must target at least Android 15 (API level 35) to remain discoverable by new users on devices running newer Android versions.
  • Eligible developers can request an extension until November 1, 2026.

This is part of Google's annual policy to ensure apps take advantage of the latest security, privacy, and platform improvements.


Why Does Google Increase the Target API Every Year?

Targeting a newer Android version allows your app to benefit from:

  • Improved security
  • Better privacy protections
  • Performance optimizations
  • Modern background execution policies
  • Better user experience across new devices

While your app may still run on older Android versions, targeting the latest API ensures compatibility with current Android platform expectations.


Updating a React Native Project

For most React Native applications, the migration is straightforward.

1. Install Android 16 SDK

Open Android Studio → SDK Manager

Install:

  • Android SDK Platform 36
  • Android SDK Build Tools (latest)
  • Android SDK Command-line Tools

2. Update compileSdk and targetSdk

Depending on your project structure, update your Gradle configuration.

android {
    compileSdk 36

    defaultConfig {
        targetSdk 36
    }
}
Enter fullscreen mode Exit fullscreen mode

or

compileSdkVersion = 36
targetSdkVersion = 36
Enter fullscreen mode Exit fullscreen mode

Note: Updating to API 36 does not require changing your minSdkVersion. Your app can continue supporting older Android versions while targeting the latest Android release.

3. Update Android Gradle Plugin

Use a version compatible with API 36.

Example:

classpath("com.android.tools.build:gradle:8.6.1")
Enter fullscreen mode Exit fullscreen mode

4. Update Gradle

Example:

distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
Enter fullscreen mode Exit fullscreen mode

5. Verify Kotlin Version

Many recent React Native versions work well with Kotlin 2.x.

Example:

kotlinVersion=2.0.21
Enter fullscreen mode Exit fullscreen mode

6. Clean and Rebuild

cd android

./gradlew clean

cd ..

npx react-native run-android
Enter fullscreen mode Exit fullscreen mode

For release builds:

cd android

./gradlew assembleRelease
Enter fullscreen mode Exit fullscreen mode

Quick Migration Checklist

Before uploading your app to Google Play, verify that you've completed the following:

  • [ ] Install Android SDK Platform 36
  • [ ] Update compileSdk to 36
  • [ ] Update targetSdk to 36
  • [ ] Upgrade the Android Gradle Plugin (if required)
  • [ ] Upgrade the Gradle Wrapper
  • [ ] Verify Kotlin compatibility
  • [ ] Update third-party native libraries
  • [ ] Clean and rebuild the project
  • [ ] Test on Android 16 devices or emulator
  • [ ] Verify edge-to-edge layouts
  • [ ] Generate a Release AAB
  • [ ] Upload to Play Console and check for warnings

Android 16 Behavior Changes You Should Know

Simply updating targetSdkVersion to 36 isn't enough. Android 16 introduces several platform behavior changes that may require code updates and additional testing.

1. Edge-to-Edge Is Mandatory

One of the most noticeable changes is that apps targeting Android 16 can no longer opt out of edge-to-edge mode.

This means your app content may extend behind the status and navigation bars unless properly handled.

For React Native applications, test:

  • Safe areas
  • Bottom navigation
  • Headers
  • Floating buttons
  • Bottom sheets
  • Keyboard interactions
  • Full-screen screens

If you're using react-native-safe-area-context, make sure you're on a recent version and verify layouts on both Android 15 and Android 16.

2. Large-Screen Support

Android 16 improves the experience on:

  • Tablets
  • Foldables
  • Chromebooks

For displays with a smallest width of 600dp or greater, Android ignores several app restrictions, including:

  • Orientation locks
  • Aspect ratio limits
  • Resize restrictions

Your app should adapt to different window sizes instead of assuming portrait mode.

If your app hasn't been tested on tablets or foldables, now is a good time.

3. Background Scheduling Changes

Android 16 changes how scheduleAtFixedRate() behaves.

Previously, if multiple scheduled executions were missed while the app wasn't active, Android could execute them all when the app resumed.

Now, only one missed execution is triggered, helping reduce unnecessary background work.

If your app performs periodic synchronization or recurring tasks, review this behavior.

4. Local Network Protection

Android continues strengthening privacy.

Apps communicating with devices on the local network—such as:

  • Smart home devices
  • Printers
  • IoT devices
  • Local development servers
  • Media casting devices

should begin testing against Android 16.

Future Android versions will introduce explicit permissions for local network access.

5. Photo Picker Improvements

If a user grants access to Selected Photos instead of the entire media library, Android 16 automatically pre-selects media created by your application.

This creates a smoother user experience while maintaining user privacy.

If your app uploads images or videos, test this flow carefully.

6. Background Jobs

Android 16 introduces improvements to JobScheduler quotas.

Apps using:

  • WorkManager
  • JobScheduler
  • Background uploads
  • Background sync

should verify that jobs still execute as expected under different app states.


React Native Specific Things to Test

After updating to API 36, I recommend verifying the following:

✅ App launches correctly

✅ Release APK/AAB builds successfully

✅ Navigation works correctly

✅ Safe areas are displayed properly

✅ Status bar and navigation bar don't overlap content

✅ Push notifications work

✅ Deep links still open correctly

✅ Camera functions normally

✅ Image picker works

✅ File uploads work

✅ Location permissions behave correctly

✅ Background tasks continue running

✅ Payment SDKs function properly

✅ Analytics events are still recorded

✅ Tablets and foldables display correctly


Common Issues After Upgrading

Depending on your project and dependencies, you may encounter:

Build failures

These are commonly caused by outdated:

  • Android Gradle Plugin
  • Gradle
  • Kotlin
  • AndroidX libraries
  • Third-party library incompatibilities

Common areas include:

  • Camera libraries
  • Notification SDKs
  • Background service libraries
  • Payment SDKs
  • Bluetooth libraries

Always update dependencies before assuming Android 16 is the issue.

UI issues

Because of mandatory edge-to-edge rendering, you may notice:

  • Content behind the status bar
  • Navigation bar overlap
  • Incorrect bottom padding
  • Keyboard layout problems

Most of these can be resolved by properly handling window insets and safe areas.


Recommended React Native Versions

While older React Native versions may still build, newer releases offer better compatibility with recent Android SDKs.

React Native Version Recommendation
0.72 and below Consider upgrading before targeting API 36
0.73 – 0.78 Test thoroughly
0.79+ Better support for modern Android SDKs

Final Thoughts

Updating to Android 16 (API level 36) is more than a Play Console requirement—it's an opportunity to modernize your app and ensure it works well across the latest Android devices.

For most React Native projects, the migration is relatively simple:

  • Update your Android SDK
  • Upgrade Gradle and the Android Gradle Plugin if necessary
  • Set compileSdk and targetSdk to 36
  • Test thoroughly on Android 16 devices
  • Pay special attention to edge-to-edge layouts, background work, and large-screen support

Android 16 isn't a massive migration for most React Native applications, but it does introduce several platform behaviors that deserve careful testing. Start upgrading early, keep your dependencies up to date, and validate your app on Android 16 devices before your production release.

By migrating ahead of the August 31, 2026 deadline, you'll avoid Play Console submission issues and ensure your users receive the latest Android security, privacy, and performance improvements.


Useful Resources

For more information, refer to the official Android documentation below:


✍️ Written by Dainy Jose — React Native Mobile Application Developer with 3+ years of experience building cross-platform mobile apps using React Native (Expo, TypeScript, Redux).
Currently expanding backend knowledge through the MERN Stack (MongoDB, Express.js, React.js, Node.js) to create more efficient, full-stack mobile experiences.

💼 Tech Stack: React Native · TypeScript · Redux · Expo · Firebase · Node.js · Express.js · MongoDB · REST API · JWT · Jest · Google Maps · Razorpay · PayU · Agile · SDLC · Git · Bitbucket · Jira

📬 Connect with me:
🌐 Portfolio
🔗 LinkedIn
💻 GitHub

Top comments (0)