Upgrading to SDK 35: What, Why, and How — A Friendly Guide for React Native Developers

Recently, Google made a big announcement: All Play Store apps must now target SDK 35—or risk being removed from production listings. This isn’t one of those “maybe later” things. If you don’t comply, your app stops getting updates, and new users won’t be able to install it.
I just went through this migration myself, upgrading a React Native app from 0.70.6
with Gradle 7.5.1
and AGP 7.2.2
.
Turns out, it’s not as simple as changing targetSdkVersion
from 34 to 35.
This post will share what I learned—so you can skip some headaches.
1. Why You Need to Upgrade Target SDK
- Play Store policy: Without SDK 35, your app can’t be updated or installed.
- Security: Newer SDKs fix vulnerabilities and enforce better privacy practices.
- Performance & UX: Latest SDKs bring optimizations and keep your UI consistent with new devices.
- Compliance: Google regularly bumps requirements to modernize the ecosystem.
2. Considerations & Challenges
- Version interconnection: React Native, Gradle, AGP, and Java versions must be compatible. Upgrading one often forces upgrades in others.
- Edge-to-edge enforcement: SDK 35 runs content behind system bars by default. Without adjustments, your UI can look “squished” under the status or navigation bars.
- Dependency breakage: Third-party libraries (gesture handler, navigation, Firebase, etc.) may need updates—or code changes—to work after the upgrade.
- Testing load: Visuals, navigation, and permissions might behave differently. You’ll need thorough QA.
3. Migration Guide – Step by Step
Step 1: Check Your Current Setup
Note down your React Native, Gradle, and AGP versions. In my case: RN 0.70.6
, Gradle 7.5.1
, AGP 7.2.2
.
Step 2: Find Compatibility Requirements
Check what minimum RN version supports SDK 35. Then match compatible Gradle and AGP versions.
Official docs will save you from guesswork:
React Native Docs
AGP Release Notes
Step 3: Use React Native Upgrade Helper
Visit Upgrade Helper, choose your current and target RN versions, and follow the diff it generates. Apply changes exactly—it’s your best upgrade roadmap.
Step 4: Update Dependencies
After upgrading RN core, fix other libraries:
react-native-gesture-handler
react-native-reanimated
@react-navigation/*
- Any project-specific libs like Firebase, analytics, device APIs
Step 5: Upgrade Gradle & AGP
Don’t manually edit build.gradle
.
Use Android Studio’s Upgrade Assistant to avoid version mismatch issues.
Recommended for SDK 35:
- Android Studio: Koala (2024.1.2) or newer
- Gradle: 8.0+
- AGP: 8.6.1+
Step 6: Change Target SDK
In android/app/build.gradle
, set:
targetSdkVersion 35
compileSdkVersion 35
Then rebuild and fix errors as they appear.
Step 7: Handle Broken Builds
Errors are normal—resolve them one at a time. For Firebase users: check for compatibility updates before assuming the problem is in your code.
Step 8: Edge-to-Edge UI Adjustments
With SDK 35, content renders behind system bars by default.
Use react-native-safe-area-context
and test on gesture-nav devices to ensure headers and buttons aren’t hidden.
4. Bonus: Upcoming 16KB Alignment Rule
From August 2025, Play Store updates must have 16KB APK/Bundle alignment. Update your build tools or CI/CD scripts to meet this—don’t wait until submission day.
More info: Google Developer Blog
Wrapping Up
Upgrading to SDK 35 isn’t just about compliance—it’s about keeping your app secure, modern, and ready for the future. Do it step-by-step, follow the right resources, and you’ll get through without losing your weekend.
Have your own upgrade story? Share it in the comments—I’d love to hear how it went for you.
Comments
Post a Comment