This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
Run an Expo or React Native app on Expo Simulators
Edit page
Install an Expo or React Native development build or release build on a remote Android Emulator or iOS Simulator, and use Fast Refresh, component inspection, and profiling.
Expo Simulators is a limited-access preview. It is not included with paid or free plans and is currently available only to select partners. Join the waitlist if you are interested in trying it.
Expo Simulators supports all of its features for Expo and React Native apps. Create a simulator build with EAS Build or on your computer, then install it on a session. A development build connected to Metro also gives you Fast Refresh and the React Native features of agent-device.
Choose a build
A release build contains the JavaScript from build time. It does not show later source changes, even when you connect it to Metro.
Expo projects
An Expo project already has what EAS CLI needs. Link it to EAS one time:
eas init adds the EAS project ID to the app config. Then start a session with an application source:
The remote-device profile needs an APK build type for Android and ios.simulator: true for iOS. See Build a simulator-compatible app.
React Native projects without Expo
EAS CLI finds the EAS project from the current directory. It needs package.json and an app config that contains the project ID. Add an app config to the repository root if the project does not have one:
To use the REST API instead, pass the project ID as appId. The REST API does not read files in the repository. See Expo Simulators REST API.
Use React Native features
agent-device has features for React Native apps:
- React component, props, and hooks inspection
- React render profiling, such as slow commits and re-renders
- JavaScript evaluation through the Chrome DevTools Protocol (CDP) of Metro
Component inspection and render profiling need Metro and a React DevTools connection. On React Native 0.87 and later, add agent-react-devtools as a dev dependency and run npx agent-react-devtools init once. JavaScript evaluation needs only Metro. Keep Metro running while you use these features. For version-matched guidance, read the agent-device help through the session: