Expo (SDK 55) app using Expo Router with routes in src/app/.
- Node.js
- pnpm
- Android platform tools (
adbon your PATH) - Expo Go on your Android device (for development without a custom dev build)
pnpm installUse this flow when your phone is connected over USB and you develop with Expo Go.
adb devices
adb reverse tcp:8081 tcp:8081adb reverse lets the phone reach Metro on your PC at 127.0.0.1:8081. Run it again after unplugging the device or rebooting the phone.
Verify the forward is active:
adb reverse --listYou should see tcp:8081 tcp:8081.
pnpm start --android --localhostUse --localhost for USB development. The terminal should show a URL like exp://127.0.0.1:8081, not a LAN address such as exp://192.168.x.x:8081.
The first Android bundle often takes 20–35 seconds. Expo Go shows a spinner until Metro logs something like:
Android Bundled ... node_modules/expo-router/entry.js
Later reloads are much faster. This is normal, not necessarily a hang.
- Shake the device → Reload, or
- Press
rin the Metro terminal