No Studio, No Problem? Setting Up React Native for Android

Introduction: Decoding the React Native & Android Studio Partnership
Create React Native app Android Studio projects by following these essential steps:
- Install Prerequisites: Node.js (20.19.4+), Watchman, JDK 17, and Android Studio
- Configure Environment Variables: Set ANDROIDHOME and JAVAHOME paths
- Create Your Project: Run
npx @react-native-community/cli@latest init YourProjectName - Start Metro Bundler: Execute
npm startin your project directory - Run on Android: Use
npm run androidto launch on emulator or device
Setting up React Native with Android Studio can feel more complex than it should be, a common frustration for many developers who just want to see their first screen instead of their first error.
React Native and Android Studio have a working partnership, but it is not as tightly integrated as Flutter's tooling. React Native uses JavaScript and its Metro bundler, while Android Studio provides the native Android build tools and SDK. They work together effectively once configured, but they do require some manual setup to connect properly.
While you do not technically need the full Android Studio IDE to build React Native apps, you absolutely need its core components: the Android SDK, build tools, and emulators. Android Studio conveniently packages these and adds useful debugging features so you are not hunting down individual tools.
The setup is precise, involving multiple dependencies and environment variable configurations. A missed step can lead to cryptic errors, but getting it right from the start prevents these headaches and makes future projects much smoother.
Once everything is configured, the workflow is straightforward: Metro provides hot reloading for JavaScript, Android Studio manages virtual devices, and the React Native CLI orchestrates the build and run process.
This guide provides a complete, step-by-step process for building a new app or integrating React Native into an existing project, explaining each step clearly instead of glossing over the tricky parts.

Laying the Foundation: Your Development Environment Setup
Properly setting up your development environment is the crucial first step. For create React Native app Android Studio projects, this involves installing Node.js, Watchman, a Java Development Kit (JDK), and Android Studio. These tools allow you to compile JavaScript into a native Android app. This guide focuses on Windows but provides notes for macOS and Linux, preparing you for the React Native CLI Quickstart and robust Mobile App Development projects.

Installing Core Dependencies
Let's start by getting the fundamental software installed.
Node.js Installation: React Native requires Node.js (version 20.19.4+), which includes
npmfor package management. Install the latest LTS version from the Node.js website. For managing multiple Node versions, consider using a version manager like nvm for Windows. On macOS, usebrew install node.Watchman Setup: Watchman, a file-watching service from Facebook, is highly recommended for performance as it speeds up reloads. Install it on macOS with
brew install watchman. While less critical for Windows users, its absence may result in slightly slower build times.Java Development Kit (JDK): A Java Development Kit (JDK) is essential for compiling native Android code. React Native requires JDK 17; using other versions may cause issues. While Android Studio often includes a JDK, you can install it separately. We recommend the Azul Zulu OpenJDK distribution. On macOS, install it via Homebrew:
brew install --cask zulu@17.
Installing and Configuring Android Studio
Android Studio is the official IDE for Android development, providing the Android SDK, build tools, and virtual device manager needed for React Native.
Download and Install Android Studio: Download and install Android Studio from the official site. During installation, choose the "Custom" setup to ensure the following are selected:
- Android SDK
- Android SDK Platform
- Android Virtual Device (AVD)
Installing Required Build Tools via SDK Manager: After installing, open Android Studio's SDK Manager (More Actions > SDK Manager from the welcome screen).
- In the "SDK Platforms" tab, select and install the Android 15 (VanillaIceCream) SDK.
- In the "SDK Tools" tab, ensure "Android SDK Build-Tools" (version 36.0.0) and "Android SDK Command-line Tools (latest)" are checked.
- Click "Apply" to install.
Configuring Environment Variables: ANDROIDHOME and JAVAHOME
Environment variables tell React Native where to find the Android SDK and JDK.
Setting
ANDROID_HOME:- Windows: Search for "Environment Variables" and open the system properties. Create a new system variable named
ANDROID_HOMEwith the value as your Android SDK path (e.g.,C:\Users\YOUR_USERNAME\AppData\Local\Android\Sdk). Then, edit thePathsystem variable and add two new entries:%ANDROID_HOME%\emulatorand%ANDROID_HOME%\platform-tools. - macOS / Linux: Add the following to your shell configuration file (
.zprofile,.zshrc, or.bash_profile):
Then run
source ~/.zprofile(or your respective file) to apply the changes.- Windows: Search for "Environment Variables" and open the system properties. Create a new system variable named
Setting
JAVA_HOME:- Windows: Similar to
ANDROID_HOME, create aJAVA_HOMEsystem variable pointing to your JDK 17 installation path (e.g.,C:\Program Files\Java\jdk-17). Add%JAVA_HOME%\binto yourPathvariable. - macOS / Linux: Add the following to your shell configuration file:
Save and source the file.
- Windows: Similar to
Verifying Paths: After setting these variables, restart your terminal. Verify the paths by running
echo %ANDROID_HOME%(Windows) orecho $ANDROID_HOME(macOS/Linux). This is critical to avoid "SDK location not found" errors.
Preparing Your Android Device (Virtual or Physical)
Finally, set up a device to run your app.
Using a Physical Device:
- Enable USB Debugging: On your phone, go to Settings > About Phone and tap "Build Number" seven times. This enables Developer Options. In Developer Options, turn on "USB debugging." Connect your device via USB and accept the debugging prompt.
Using a Virtual Device (AVD):
- Create a New AVD: In Android Studio, open the Virtual Device Manager (More Actions > Virtual Device Manager). Click "Create Virtual Device," choose a phone model (e.g., Pixel 7), and select the VanillaIceCream (API 35) system image. Download it if necessary, then name and finish creating your AVD.
- Configure Hardware Acceleration: For a smooth emulator experience, hardware acceleration (like HAXM for Intel systems) is vital. Android Studio may prompt you to install it, or you can find it in the SDK Manager under "SDK Tools." Follow the official documentation for Configuring hardware acceleration (HAXM).
- Start the Emulator: Launch your new AVD from the Virtual Device Manager and keep it running.
The Core Workflow: How to Create React Native App Android Studio Projects
With the environment set up, it's time to create your first React Native app. This section covers using the CLI, starting the Metro server, and running the app on an Android device or emulator, bringing your create React Native app Android Studio project to life.

Step 1: Creating a New Application with the CLI
The React Native Community CLI is the best tool for creating projects, especially if you anticipate needing custom native modules.
Initialize Your Project: Open your terminal, steer to your desired directory, and run:
- This command uses
npxto run the latest React Native CLI and create a new project namedAwesomeProject. The process may take a few minutes. - To use a specific version, add the
--versionflag:... init AwesomeProject --version 0.73.0.
- This command uses
Steer into Your Project Directory: After initialization, move into the project folder:
Step 2: Starting the Metro Development Server
Metro is React Native's JavaScript bundler, similar to webpack. It transforms your code (including JSX via Babel) and bundles it for the app.
Launch Metro: In your project directory, run
npm startoryarn start.- This starts the Metro bundler in a new terminal window. Keep this terminal open; it serves your code to the app and watches for file changes.
Step 3: Running Your App on an Android Emulator or Device
Now it's time to see your app in action.
Execute the Run Command: With Metro running, open a second terminal, steer to your project directory, and run:
- This command uses Gradle to build and install the Android app on your connected device or emulator. The first build can be slow, but subsequent ones are faster.
- Once complete, the app will launch and connect to Metro, displaying the welcome screen.
Step 4: Making Your First Change and Seeing it Live
React Native's fast iteration cycle is one of its key strengths.
Edit
App.tsx: Open your project in a code editor like VS Code. In the rootApp.tsxfile, change some text (e.g., "Welcome to React Native!") and save the file.Live Reloading:
- Thanks to Fast Refresh, your changes should appear in the app almost instantly after saving.
- If not, open the Developer Menu (
Ctrl+Mon emulators, or shake a physical device) and select "Reload".
Congratulations! You've now created, run, and modified a React Native Android app.
Choosing Your Path: React Native CLI vs. Expo Go
A key early decision in React Native development is choosing between the React Native CLI and Expo Go. Both are excellent but serve different needs, a crucial choice for your create React Native app Android Studio project. As noted in our article on Top Cross-Platform App Development Frameworks in 2026, this initial setup choice is vital.
When to Use the React Native CLI
The React Native CLI, used throughout this guide, is ideal when you need maximum control over native code.
- Full Native Control: Use the CLI when you need to write custom native modules in Java/Kotlin or Objective-C/Swift for features not available in existing packages, such as specialized hardware integrations.
- Direct Native Access: The CLI provides direct access to the
android/directory, which is essential for modifying Gradle files, adding native libraries, and writing platform-specific code. - Integration with Existing Apps: The CLI is necessary for integrating React Native screens into an existing native Android or iOS application.
- Maximum Flexibility: It offers complete control over the native build process, though this comes with a more complex setup and greater responsibility for managing dependencies.
When to Use Expo Go
Expo Go provides a simpler, faster start, perfect for apps that don't need custom native code.
- Rapid Prototyping: Expo Go is ideal for quickly building and testing ideas without the hassle of native environment setup.
- Managed Native Modules: Expo is perfect for apps using its extensive library of pre-built modules (camera, location, etc.), eliminating the need to touch native code in Android Studio or Xcode.
- Managed Workflow: Expo handles the native build environment for you, simplifying the project structure by omitting the
android/andios/folders. - Over-the-Air (OTA) Updates: Push JavaScript updates directly to users, bypassing app store reviews for quick fixes and feature releases.
- Browser-Based Prototyping: Tools like Expo Snack let you write and run React Native code in a web browser.
The main drawback is that if you need a custom native module, you must "eject" from the managed workflow. This converts your project to a standard React Native CLI project and requires you to set up the native development environment yourself.
Frequently Asked Questions about React Native & Android Studio
Here are answers to common questions developers have when trying to create React Native app Android Studio projects.
Can I use Android Studio as my main code editor for React Native?
While Android Studio is essential for managing the Android SDK, emulators, and native code, it's not recommended as the primary editor for your JavaScript/TypeScript code.
- Code Editor: Use a code editor like Visual Studio Code (VS Code) for JavaScript/TypeScript. It has superior support and extensions for React Native development.
- Android Studio's Role: Use Android Studio specifically for tasks within the
android/folder, such as configuring Gradle, managing native dependencies, or writing custom Java/Kotlin modules. - Running from Android Studio: To run or debug from the IDE, open the
/androidfolder of your React Native project in Android Studio, not the root folder. You can then create a run/debug configuration that executes therun-androidcommand, allowing you to use the IDE's play and debug buttons.
In short: use VS Code for JavaScript and Android Studio for the native Android part of your project.
How do I troubleshoot common build errors like "SDK location not found"?
The "SDK location not found" error almost always relates to your environment variable setup. Here’s how to troubleshoot it:
- Verify
ANDROID_HOME: Ensure this environment variable points to the root of your Android SDK installation. - Check
PATHVariable: Add%ANDROID_HOME%\emulatorand%ANDROID_HOME%\platform-tools(Windows) or their equivalents to your system'sPath. - Restart Terminals and IDEs: Always restart your command line and editors after changing environment variables.
- Check
local.properties: In theandroid/folder, check thelocal.propertiesfile. Make sure thesdk.dirpath is correct. If the file is missing, open theandroid/folder in Android Studio to generate it. - Accept SDK Licenses: Build failures can occur if SDK licenses aren't accepted. Use Android Studio's SDK Manager or run
sdkmanager --licensesfrom the command line. - Clean the Gradle Build: Run
./gradlew clean(macOS/Linux) orgradlew clean(Windows) inside theandroid/directory to clear out old build files. - Check JDK Version: Confirm you are using the recommended JDK 17, as other versions can cause Gradle issues.
- Try Disabling Desugaring: As a last resort for certain errors, add
android.enableDexingArtifactTransform.desugaring=falseto yourandroid/gradle.propertiesfile.
Can I integrate React Native into an existing Android Studio project?
Yes, you can integrate React Native into an existing Android app to create a hybrid application. This is a powerful way to add new features without a full rewrite. The official documentation has a detailed guide on Integration with Existing Apps.
The key steps involve:
- Project Structure: You'll need to set up a specific directory structure for your React Native code.
- Dependencies: Install React Native and its dependencies using npm or Yarn.
- Gradle Configuration: Modify your app's Gradle files to build the React Native code and its dependencies.
- iOS Setup: For iOS integration, you would use CocoaPods to add the necessary React Native frameworks.
- UI Integration: Embed a React Native view (
ReactRootView) into your native Android layout, allowing you to render React components within native screens.
This hybrid approach is ideal for gradual migrations or adding cross-platform features to a native app.
From Code to Cross-Platform: Your Next Steps
You have steered through the complexities of setting up your development environment, created your first React Native app, and now understand the nuances of running it within the Android ecosystem. Moving from a blank screen to seeing your code come to life on an Android device is a genuine milestone in mobile app development.
Whether your goal is to build a new cross-platform product or modernize an existing one, this setup work is the foundation for everything that comes next. But configuring SDKs and Gradle is not where your product wins; success comes from smart product decisions, thoughtful UX, and disciplined execution.
At Bolder Apps, founded in 2019, we focus on turning well-structured environments like the one you have just created into high-impact mobile and web applications. Our model combines a US-based, in-shore CTO with a senior offshore engineering team, so you get strategic guidance and deep technical expertise without junior developers learning on your dime.
If you are ready to move beyond installation steps and focus on building something users actually love, partnering with Bolder Apps can accelerate that journey:
- Fixed-Budget Model: Know your costs up front. Our fixed-budget approach helps you plan with confidence and avoid unpleasant surprises midway through the project.
- In-Shore CTO with an Offshore Dev Team: You get clear communication, product thinking, and technical leadership from the US, backed by experienced distributed engineers who focus on shipping reliable, scalable code.
- Milestone-Based Payments: We align payments with tangible progress, so every phase of your project is tied to visible results, not vague promises.
If setting up React Native for Android felt like a lot, building and scaling a production-ready product will be an even bigger challenge. You do not have to take that on alone.
Ready to turn your new React Native environment into a real, cross-platform product? Get a quote for your mobile app development project today, and let Bolder Apps help you go from "it runs on my emulator" to "it is live in the app stores."
Let's discuss your goals


.png)







