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
}
}
or
compileSdkVersion = 36
targetSdkVersion = 36
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")
4. Update Gradle
Example:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
5. Verify Kotlin Version
Many recent React Native versions work well with Kotlin 2.x.
Example:
kotlinVersion=2.0.21
6. Clean and Rebuild
cd android
./gradlew clean
cd ..
npx react-native run-android
For release builds:
cd android
./gradlew assembleRelease
Quick Migration Checklist
Before uploading your app to Google Play, verify that you've completed the following:
- [ ] Install Android SDK Platform 36
- [ ] Update
compileSdkto 36 - [ ] Update
targetSdkto 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
compileSdkandtargetSdkto 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
Top comments (0)