HomeGuidesReferenceLearn
ArchiveExpo SnackDiscord and ForumsNewsletter

Use a development build

Learn how to use development builds for a project.


Usually, creating a new native build from scratch takes long enough that you'll be tempted to switch tasks and lose your focus. However, with the development build installed on your device or an emulator/simulator, you won't have to wait for the native build process until you change the underlying native code that powers your app.

Add error handling

Certain types of errors can provide more helpful error messages than the ones that ship by default with React Native. To turn this feature on, you need to import expo-dev-client at the top of the App.{js|tsx} or app/_layout.tsx.

App.js
import 'expo-dev-client';

This will only affect the application in which you make this change. If you want to load multiple projects from a single development app, you'll need to add this import statement to each project.

Start the development server

To start developing, run the following command to start the development server:

Terminal
npx expo start

Note: For SDK 48 and lower, use npx expo start --dev-client.

To open the project inside your development client:

  • Press a or i keys to open your project on an Android Emulator or an iOS Simulator.
  • On a physical device, scan the QR code from your system's camera or a QR code reader to open the project on your device.

The launcher screen

If you launch the development build from your device's Home screen, you will see your launcher screen, which looks similar to the following:

If a bundler is detected on your local network, or if you have signed in to an Expo account in both Expo CLI and your development build, you can connect to it directly from this screen. Otherwise, you can connect by scanning the QR code displayed by the Expo CLI.

Rebuild a development build

If you add a library to your project that contains native code APIs, for example, expo-secure-store, you will have to rebuild the development client. This is because the native code of the library is not included in the development client automatically when installing the library as a dependency on your project.

Debug a development build

When you need to, you can access the menu by pressing Cmd ⌘ + d or Ctrl + d in Expo CLI or by shaking your phone or tablet. Here you'll be able to access all of the functions of your development build, any debugging functionality you need, or switch to a different version of your app.

See Debugging guide for more information.