Skip to main content

Device Testing

Nothing beats tapping through your app on a real phone. The web preview is fine for a quick glance, but the device view is the truth. In your phone's browser you see the web version of the app; the real fonts, gestures and performance show in Expo Go on Android, or in a build installed from the ZIP.

What Opens on Your Phone​

Scan the QR under Open on phone with your phone's camera, then tap Open the app; your app opens in the phone's browser. That works on iPhone and Android with nothing to install.

To run it inside Expo Go instead, which only works on Android:

  • Android — install the Expo Go build for SDK 54 from Expo's download page. The Google Play version cannot open an AppX project.
  • iPhone — no Expo Go build opens an AppX project. Use the browser preview from the QR.

AppX builds on Expo SDK 54, and one Expo Go build opens exactly one SDK version.


Connect for the First Time​

  1. Open your project in AppX.
  2. Click Open on phone in the top bar.
  3. Scan the QR with your phone's camera, then tap Open the app. The app opens in your phone's browser; on Android you can tap Open in Expo Go instead.

The app bundles and loads. The first load downloads the JavaScript bundle, so it takes longer than the ones after it.


After an Edit​

After an edit, AppX restarts the app's preview. Reload the page in your phone's browser (in Expo Go on Android: shake → Reload) to see the change; it opens at the first screen.


Test on More Than One Phone​

Scan the same QR code from more than one device to check iOS and Android side by side, or to show the app to a client.


The Expo Go Developer Menu (Android)​

In Expo Go on Android, shake your phone to open it:

OptionUse
ReloadReload the whole app bundle
Toggle InspectorTap any element to inspect its styles
Toggle Performance MonitorFPS and memory overlay

iOS vs Android: What to Watch​

React Native apps can look and behave a little differently across platforms. Common spots:

Layout — status‑bar height and safe areas differ. AppX pads screens with the device's safe-area insets so content clears the notch and home indicator.

Navigation — Android has a hardware/gesture back; iOS uses swipe‑back. The generated navigation handles both.

Typography — iOS defaults to San Francisco, Android to Roboto. An app that uses one of the available fonts looks the same on both.

Shadows — iOS uses shadow properties, Android uses elevation. Ask for a shadow and AppX adds both.

If something only looks wrong on one platform, just describe it in chat.


Troubleshooting​

"Something went wrong" on load

  • Usually a JavaScript error.
  • Read the on‑screen message — it names the file and line.
  • Paste it into chat: "Home shows 'cannot read property of undefined' on line 42 — fix it."

QR scans but the app won't load

  • If it was asleep, wait for it to wake, then try again.
  • Scan the QR code again.

Looks different from the web preview

  • Expected — the web preview is an approximation, and a phone's browser shows the web version at real size. Expo Go on Android, or a build from the ZIP, is the truth. If something's off on device, describe it in chat.

Expo Go says the project is incompatible with this version of Expo Go

  • You have the store version of Expo Go. On Android, install the Expo Go build for SDK 54 from Expo's download page.
  • On iPhone, no Expo Go build opens an AppX project. Use the browser preview from the QR.

Works on iOS, crashes on Android (or vice versa)

  • Share the details in chat:
"Crashes on Android when I open the Profile screen — works on iOS.
The error says: ..."

Janky animations or slow scrolling

  • Often a heavy list or scroll handler. Describe what's slow in chat and ask for a performance pass.

No Phone Handy?​

  • Web preview — approximate, but fine for quick layout checks.
  • iOS Simulator / Android Emulator — download your project as a ZIP on any plan and run npx expo start locally. Real hardware is still the final word before you publish.