Guides
Plan-enterprise-icon
Expo Application Services
API Reference

Create development builds

Development builds can be created with EAS Build or locally on your computer, if you have Xcode and Android Studio. In the following sections, you will find information on how to create a development build and then install them on an emulator/simulator or a physical device to continue developing your app.

Prerequisites

You need to initialize your project with Expo. If you still need to do so, see the initializing steps if you are starting a new project.
We also recommend installing EAS CLI as a global npm dependency by running the following command:
Terminal
→ npm install -g eas-cli

Install expo-dev-client

To initialize a development build, you need to install the expo-dev-client library in your project:
Terminal
→ npx expo install expo-dev-client

Create and install EAS Build

We recommend EAS Build to manage your native projects. It allows a smooth experience, especially if you do not have experience with Xcode and Android studio builds or do not have them installed locally on your computer.
eas.json
{
  "builds": {
    "development": {
      "developmentClient": true,
      "distribution": "internal"
    },
    "preview": {
      "distribution": "internal"
    },
    "production": {}
  }
}
The "development" profile sets the following options:
  • developmentClient to true to create a Debug build. This allows the expo-dev-client library to choose the update to load in your app and provide tools to help you develop it. It also generates a build artifact that you can install on a device or emulator/simulator.
  • distribution to "internal" makes the build ready for internal distribution.
Info-icon
iOS builds where developmentClient is set to true on the build profile should always be distributed as "internal". If you are distributing for TestFlight, you have to set the distribution to "store".

On emulator/simulator

Follow the steps below to create and install the development build on an Android Emulator or an iOS Simulator.
Info-icon
This is only required if you want to develop a project on an emulator/simulator. Otherwise, skip these steps if you are using a device.
Each platform has specific instructions you'll have to follow:
To create and install the development build on an Android Emulator, you will need a .apk. To create it, run the following command:
Terminal
→ eas build --profile development --platform android
After the build is complete, go to the build page in the Expo dashboard or the open link to it provided when eas build has finished running the process. Then, open the Options dropdown menu, and click the Download build button to download the .apk.
Open the options dropdown menu to install the apk file.
You can now install it on the Android Emulator by dragging .apk file into the emulator. When it's complete installing, navigate to the app launcher, find the app icon and open it.
To create and install a development build on an iOS Simulator, we recommend you to create a separate build profile for the simulator and then set the ios.simulator option to true in the eas.json.
For example, the "development-simulator" profile below is only for creating a development build for iOS Simulator:
eas.json
{
  "builds": {
    "development-simulator": {
      "developmentClient": true,
      "distribution": "internal",
      "ios": {
        "simulator": true
      }
    }
  }
}
Then, run the following command to create the development build on an iOS Simulator:
Terminal
→ eas build --profile development-simulator --platform ios
Info-icon
Make sure to use that profile name as the argument for the --profile flag in the above command.
After the build is complete, go to the build page in the Expo dashboard and click the Download button.
Click the download button to download the build for iOS Simulator.
You can now install it on an iOS Simulator:
  • Open the .tar.gz file to extract it. You will now have a .app file, for example, myapp.app.
  • Drag the .app file into the iOS Simulator. When you see it appear on the simulator's home screen, tap on it to run it.

On a device

Follow the steps below to create and install the development build on an Android or an iOS device. Each platform has specific instructions you'll have to follow:
Info-icon
If you have created a development build for Android Emulator, you do not need to create it separately for the device. You can skip this step since the same .apk will work in both scenarios.
To create and install the development build on an Android device, you will need a .apk. To create it, run the following command:
Terminal
→ eas build --profile development --platform android
After the build is complete, copy the URL to the .apk from the build details page or the link provided when eas build has finished. Then, send that URL to your device and open it on your device to download and install the .apk.
To share the build with your team, direct them to the build page in the Expo dashboard. From there, they can download the build artifact directly on their device. Or, you can share the link to the .apk.
Warning-icon
Apple Developer membership is required to create and install a development build on an iOS device.
To register any iOS device you'd like to develop onto your ad hoc provisioning profile, run the following command:
Terminal
→ eas device:create
After registering your iOS device, you can create the development build by running the command:
Terminal
→ eas build --profile development --platform ios
After the build is complete, you can download it on your iOS device by scanning the QR code from the device's camera from the Expo CLI. The QR code is provided when the eas build command has finished running.
You can also find this QR code on the build page in the Expo dashboard. Click the Install button and scan the QR code using the system's camera.
To share the build with your team, direct them to the build page in the Expo dashboard. From there, they can download it directly on their device by scanning the QR code using the system's camera.
Info-icon
If you register any new iOS devices after creating a development build, you'll need to create a new development build to install it on those devices. For more information, see internal distribution.

Next

Use a development build

Learn about how to use the development build that you have just installed.

Arrow-right-icon
  • Message-iconAsk a question on the forums
  • Edit-iconEdit this page

Was this doc helpful?