Skip to content

Build your Expo app

Learn how to create development builds for your expo project.

If you are looking to create a development build locally, rather than remotely on EAS, you can create local builds with npm run ios or npm run android.

In this guide, you’ll find information on creating a development build with EAS and installing it on an emulator/simulator or a physical device to continue developing your app. The following instructions cover both Android and iOS and physical devices and emulators.

Install expo-dev-client

Terminal window
npx expo install expo-dev-client

Verify your eas.json configuration

The first time you run the eas build command, it creates an eas.json file at the root of your project directory. The eas.json includes three default build profiles — development, preview, and production. If you have removed the development profile since you first initialized eas.json, you should add it back now. A minimal configuration is shown below:

Terminal window
{
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal"
},
"production": {}
}
}

Create a build for emulator/simulator

Follow the steps below to create and install the development build on an Android Emulator or an iOS Simulator.

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.

For Android Simulator

To create and install the development build on an Android Emulator, you will need a .apk. To create it, run the following command:

After the build is complete, the CLI will prompt you to automatically download and install it on the Android Emulator. When prompted, press Y to directly install it on the emulator.

See Build APKs for Android Emulators and devices for more information.

Terminal window
eas build --profile development --platform android

For iOS Simulator

To create and install a development build on an iOS Simulator, we recommend you create a separate build profile for the simulator and then set the ios.simulator option to true in the eas.json.

Then, run the following command to create the development build on an iOS Simulator:

Terminal window
eas build --profile development-simulator --platform ios

After the build is complete, the CLI will prompt you to automatically download and install it on the iOS Simulator. When prompted, press Y to directly install it on the simulator.

See Installing build on the simulator for more information.

Create a build for the 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:

For Android Device

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

For iOS Device

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 window
eas device:create

After registering your iOS device, you can create the development build by running the command:

Terminal window
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.

Share a development build with your team

When a development build is ready, a shareable URL is generated for your build with instructions on how to get it up and running. You can use this URL with a teammate or send it to your test device to install the build. The URL generated is unique to the build for your project.

You can also direct your teammate to the build page in the Expo dashboard. From there, they can download the build artifact directly on their device.

For more information on creating and sharing development builds, see Create a build.