Skip to main content

Quick start

This page keeps the EAS dev client builds of one project, and installs one of them on an emulator. It takes a few minutes, and most of that time is the download.

Before you start, install DevHub, and log in to eas-cli with npx eas-cli login.

1. Sync the project​

Go to the project folder, and run the sync:

cd my-app
devhub sync

DevHub reads eas.json, finds each build profile with "developmentClient": true, and downloads each finished build of those profiles that EAS still has:

/Users/me/projects/my-app
Profiles: development (android, ios), development-simulator (android, ios)
Downloaded b8d0f2a4 android development 1.5.0 214.8 MB
Downloaded a7e3b0c4 ios simulator development-simulator 1.4.0 98.3 MB
2 downloaded (313.1 MB), 1 build expired before sync.

DevHub also remembers the project folder. Later, devhub sync --all syncs each project that it remembers.

2. See the stored builds​

devhub list
Store: /Users/you/Library/Application Support/devhub

ID PROJECT PLATFORM PROFILE VERSION COMMIT CREATED EAS EXPIRY
b8d0f2a4 my-app android development 1.5.0 8b1f2c3 2026-10-12 2026-11-11
a7e3b0c4 my-app ios simulator development-simulator 1.4.0 8b1f2c3 2026-10-12 2026-11-11

EAS EXPIRY is the date on which EAS deletes its copy. The copy in the DevHub store stays.

3. Start a device​

Start an Android emulator from Android Studio, or boot an iOS simulator from Xcode. DevHub does not start a device. Then check that DevHub sees it:

devhub devices
ID PLATFORM KIND NAME STATE
emulator-5554 android emulator Pixel_8_API_35 ready
6F1D2C3B-4A5E-4F60-9A7B-8C9D0E1F2A3B ios simulator iPhone 16 Pro (iOS 18.6) ready

4. Install a build​

Give the ID from devhub list. The start of the ID is sufficient:

devhub install b8d0
Installing the build b8d0f2a4-6c8e-4a0b-9c1d-3e5f7a9b1c3d on Pixel_8_API_35 (emulator-5554).
Installed the build b8d0f2a4-6c8e-4a0b-9c1d-3e5f7a9b1c3d on Pixel_8_API_35 (emulator-5554).

5. Load your JavaScript​

DevHub installs the app, and does not open it. Start Metro in the project folder:

npx expo start

Press a for Android or i for iOS. Expo CLI opens the installed dev client with the URL of Metro.

6. Check before the next build​

Before you make a new native build, ask DevHub if a stored build already matches your code:

devhub match

When a build matches, install it, and do not build. See devhub match.

Next steps​

  • Open the same functions on a page in your browser with devhub ui.
  • Store each npx expo run:* build with the cache provider.
  • Keep the builds of all your projects with a daily sync.