June 12, 2026

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

Author Image
Pavel Yanushka
and updated on:
June 12, 2026
Author Image
Reviewed by:
John Ilkhomjon
Blog Image

Introduction: Decoding the React Native & Android Studio Partnership

Create React Native app Android Studio projects by following these essential steps:

  1. Install Prerequisites: Node.js (20.19.4+), Watchman, JDK 17, and Android Studio
  2. Configure Environment Variables: Set ANDROIDHOME and JAVAHOME paths
  3. Create Your Project: Run npx @react-native-community/cli@latest init YourProjectName
  4. Start Metro Bundler: Execute npm start in your project directory
  5. Run on Android: Use npm run android to 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.

Infographic showing the React Native development workflow: JavaScript code flows through Metro bundler for transformation and bundling, then connects via the bridge to native Android components rendered by the Android runtime on a physical device or emulator - create react native app android studio infographic step-infographic-4-steps

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.

Android Studio SDK Manager window showing required packages - create react native app android studio

Installing Core Dependencies

Let's start by getting the fundamental software installed.

  1. Node.js Installation: React Native requires Node.js (version 20.19.4+), which includes npm for 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, use brew install node.

  2. 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.

  3. 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.

  1. 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)
  2. 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.

  1. Setting ANDROID_HOME:

    • Windows: Search for "Environment Variables" and open the system properties. Create a new system variable named ANDROID_HOME with the value as your Android SDK path (e.g., C:\Users\YOUR_USERNAME\AppData\Local\Android\Sdk). Then, edit the Path system variable and add two new entries: %ANDROID_HOME%\emulator and %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.

  2. Setting JAVA_HOME:

    • Windows: Similar to ANDROID_HOME, create a JAVA_HOME system variable pointing to your JDK 17 installation path (e.g., C:\Program Files\Java\jdk-17). Add %JAVA_HOME%\bin to your Path variable.
    • macOS / Linux: Add the following to your shell configuration file:

    Save and source the file.

  3. Verifying Paths: After setting these variables, restart your terminal. Verify the paths by running echo %ANDROID_HOME% (Windows) or echo $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.

  1. 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.
  2. 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.

Command line interface showing successful npx react-native init command - create react native app android studio

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.

  1. Initialize Your Project: Open your terminal, steer to your desired directory, and run:

    • This command uses npx to run the latest React Native CLI and create a new project named AwesomeProject. The process may take a few minutes.
    • To use a specific version, add the --version flag: ... init AwesomeProject --version 0.73.0.
  2. 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.

  1. Launch Metro: In your project directory, run npm start or yarn 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.

  1. 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.

  1. Edit App.tsx: Open your project in a code editor like VS Code. In the root App.tsx file, change some text (e.g., "Welcome to React Native!") and save the file.

  2. Live Reloading:

    • Thanks to Fast Refresh, your changes should appear in the app almost instantly after saving.
    • If not, open the Developer Menu (Ctrl+M on 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/ and ios/ 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 /android folder of your React Native project in Android Studio, not the root folder. You can then create a run/debug configuration that executes the run-android command, 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:

  1. Verify ANDROID_HOME: Ensure this environment variable points to the root of your Android SDK installation.
  2. Check PATH Variable: Add %ANDROID_HOME%\emulator and %ANDROID_HOME%\platform-tools (Windows) or their equivalents to your system's Path.
  3. Restart Terminals and IDEs: Always restart your command line and editors after changing environment variables.
  4. Check local.properties: In the android/ folder, check the local.properties file. Make sure the sdk.dir path is correct. If the file is missing, open the android/ folder in Android Studio to generate it.
  5. Accept SDK Licenses: Build failures can occur if SDK licenses aren't accepted. Use Android Studio's SDK Manager or run sdkmanager --licenses from the command line.
  6. Clean the Gradle Build: Run ./gradlew clean (macOS/Linux) or gradlew clean (Windows) inside the android/ directory to clear out old build files.
  7. Check JDK Version: Confirm you are using the recommended JDK 17, as other versions can cause Gradle issues.
  8. Try Disabling Desugaring: As a last resort for certain errors, add android.enableDexingArtifactTransform.desugaring=false to your android/gradle.properties file.

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

Enter your details to register.
Give your product a short and clear description.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
ASC client logo

They moved the project very smoothly.

Len Swegart
Senior Corporate Relations Manager, American Cancer Society
Rydoo client logo

They truly understood our vision and translated it into a polished product with a seamless UX.

Anna Haberfellner
Senior SDR, Rydoo
Qonto client logo

Attentiveness to detail and excellent design skills are impressive.

Steve Anavi
Senior Manager, Qonto