Run a React Native App on Android
This guide shows how to run an Instamobile React Native app on an Android emulator or physical Android device from the app folder.
Quick Answer
Install the Android SDKs in Android Studio, start an emulator or connect a
device, run corepack yarn install --immutable, start Metro with corepack yarn start, and launch the app with corepack yarn android.
Prerequisites
Before running Android, confirm that you have:
- Node and Yarn configured;
- Android Studio installed;
- Android SDK Platform Tools installed;
- an Android SDK platform supported by the app;
- an emulator image or a physical Android device;
adbavailable in your shell.
Current TypeScript app packages use Android compile SDK 36, target SDK 36, and minimum SDK 24. For the full stack, see Current React Native Stack.
If your machine is not ready yet, start here:
1. Open the App Folder
Run commands from the React Native app folder, the one that contains:
package.json
android/
ios/
src/
If your package contains more than one app, open the specific app you want to run.
2. Select the Project Node Version
If the app package includes .nvmrc, run:
nvm use
Then install JavaScript dependencies:
corepack enable
corepack yarn install --immutable
3. Check Android Devices
Start an emulator from Android Studio Device Manager or connect a physical device with USB debugging enabled.
Check that Android can see it:
adb devices
If the list is empty, fix the emulator/device connection before running the app.
4. Start Metro
Start Metro in one terminal:
corepack yarn start
Keep Metro open while developing. If Metro serves stale files, restart it with:
corepack yarn start --reset-cache
5. Run the Android App
In a second terminal:
corepack yarn android
React Native CLI will call the Android Gradle project under android/, install
the debug build, and connect it to Metro.
6. Open the App in Android Studio
Open the android/ folder in Android Studio when you need:
- SDK Manager;
- Device Manager;
- Logcat;
- Gradle sync errors;
- signing configuration;
- Android manifest inspection;
- build variant inspection.
For daily development, keep using the commands from package.json so the app
runs through the same workflow as the package commands.
7. Run a Physical Device
For a physical Android device:
- enable Developer Options;
- enable USB debugging;
- connect the device by USB;
- accept the debugging prompt on the device;
- verify it with
adb devices; - run
corepack yarn android.
If the device appears as unauthorized, unplug it, reconnect it, and accept the
debugging prompt again.
8. Android App Identity
Android package name, display name, permissions, Firebase config, signing, and release settings live inside the Android project. Common files include:
| File | Used for |
|---|---|
android/app/build.gradle | Application id, build types, signing, Gradle config. |
android/app/src/main/AndroidManifest.xml | Permissions, activities, deep links, services. |
android/app/google-services.json | Firebase Android config. |
android/gradle.properties | Gradle and React Native build flags. |
Change these only after the unmodified app runs locally.
Common Android Issues
No Device Is Detected
Run:
adb devices
If no device appears, start an emulator, reconnect the physical device, or check that Android Platform Tools are installed.
Gradle Cache Is Stale
Clean the Android build:
cd android
./gradlew clean
cd ..
Then restart Metro and rerun:
corepack yarn android
Metro Cache Is Stale
Restart Metro:
corepack yarn start --reset-cache
Firebase Android Config Is Missing
Firebase-backed apps need google-services.json in the Android app module.
Download it from your Firebase project and place it where the app expects it.
Android SDK Is Missing
Open Android Studio SDK Manager, install the missing SDK platform or tools, then rerun:
corepack yarn android
Verification Checklist
Before customizing Android behavior, confirm:
corepack yarn install --immutablecompletes;adb devicesshows an emulator or device;corepack yarn startstarts Metro;corepack yarn androidinstalls and opens the app;- the app launches without a startup red screen;
- Android Studio can open the
android/project; - Firebase, maps, push, payments, or other native services use your own config files when required.