An overview of bare React Native app with Expo tools.

A bare React Native app is a project where developers make direct changes to their native **android and ios project directories rather than continuously generating them on demand using the app config (app.json) and prebuild. All tools and services offered by Expo including EAS, Expo CLI, and the libraries in the Expo SDK, are built around bare React Native apps.

Before you get started with a React Native app, make sure you set up your environment for React Native CLI.

To bootstrap a new React Native project, you can use create-expo-app. If you have an existing project or want to bootstrap with npx react-native init, then you will need to install the expo package manually.

# Create a new native project
npx create-expo-app --template bare-minimum

Navigate into your project directory, then build the apps locally:

# Build your native Android project
npx expo run:android

# Build your native iOS project
npx expo run:ios

Learn more about compiling native apps.


Install Expo modules

If you have already initialized a React Native app without `create-expo-app`, learn how to install the Expo module library.

Installing libraries

Learn how to install and configure native libraries.

Using the Expo SDK

Start adding features to your app.

Adopting Prebuild

Automate your native directories using the app.json.

Distributing your app

Build and submit your app to the app store with a single command!