Hero Background

Next-Gen App & Browser Testing Cloud

Trusted by 2 Mn+ QAs & Devs to accelerate their release cycles

Next-Gen App & Browser Testing Cloud
  • Home
  • /
  • Blog
  • /
  • Expo Android Setup and Build Time Explained
Mobile Testing

Expo Android Setup and Build Time Explained

Learn typical setup times for Expo on Android, from installing prerequisites to running your code on a real device or emulator, with step-by-step guidance.

Author

Bhawana

February 27, 2026

If you only need to preview your app, you can usually get your existing React Native code running on a real Android device with Expo Go in about 5–15 minutes. A custom development build with native modules typically takes 10–30+ minutes, and a first-time Android emulator setup can take 30–120+ minutes.

Your actual time depends on whether prerequisites (Node.js, Git) are installed, whether you’re using Expo’s managed workflow, and your network speed. Below, we break down the fastest paths, when to choose each, and how to avoid common pitfalls, so you can go from code to a running app with minimal friction.

Preparing your development environment

A development environment is the combined set of tools, libraries, and system configurations you need to code, run, and test your app. Having the basics in place before you touch Expo will shave minutes (or hours) off your first run.

  • Mandatory tools:
  • Node.js and a package manager (npm or Yarn)
  • Git for version control
  • Recent JavaScript tooling (npx, ESLint/Prettier optional but helpful)

Quick checks before you start:

  • Node.js installed
  • If you plan to test on an emulator: Android Studio and Android SDKs installed (optional for most Expo Go scenarios)
  • If you prefer the fastest first run on real hardware, Expo’s managed workflow lets you skip Android Studio entirely and use Expo Go, which runs your JavaScript bundle on-device without a native build, ideal for quick previews.

Setting up Expo Go on a real Android device

The fastest route to real hardware is Expo Go, no native build required.

Step-by-step:

  • Install Expo Go from the Google Play Store (usually 2–5 minutes) as recommended in Expo’s environment setup guide.
  • Grant camera permissions in Expo Go so you can scan QR codes from your computer screen.
  • Ensure your phone and computer are on the same Wi‑Fi. If that’s blocked by corporate networks or firewalls, use Expo’s tunnel mode as shown in this guide to running your Expo app on a real device.

What Expo Go does: It’s a free app that loads your React Native JavaScript bundle directly on a real device, enabling rapid preview, hot reload, and quick feedback loops, no native compilation step upfront. With a typical home or office network, most new users can be live in under 5 minutes using the QR flow described above.

Common network tips:

  • Verify both devices are on the same SSID.
  • If VPNs or firewalls block local traffic, switch to tunnel mode in Expo CLI.
  • If QR scanning fails, try typing the connection URL manually in Expo Go.

Running your existing code on Expo Go

Connect your current project to Expo Go in minutes:

  • From your project root, run: npx expo start
  • When the Metro dev server starts, scan the QR code using Expo Go on your phone.
  • Your app should load immediately; subsequent edits hot reload in near-real time, practically within a second on modern hardware, as noted in Pragmatic Engineer’s overview of Expo.

This workflow is ideal if your project only uses Expo SDK APIs and does not rely on custom native modules or plugins. If your app needs native packages beyond what Expo Go supports, switch to a custom development build (next section).

Comparison: Expo Go vs. custom development build

  • Expo Go
  • Supports: JavaScript/TypeScript and Expo SDK modules
  • Setup: Install Expo Go; run npx expo start; scan QR
  • Time to first run: 5–15 minutes
  • Best for: Rapid previews, UI iteration, and teams without native requirements
  • Custom development build
  • Supports: Custom native modules, plugins, and advanced configuration
  • Setup: Configure EAS, create a dev client APK/IPA, install on device/emulator
  • Time to first run: 10–30+ minutes (cloud build + install)
  • Best for: Apps using native libraries or frequent native config changes

Creating a custom development build with EAS for native features

When your app needs custom native modules or changes to native configuration files, use Expo Application Services (EAS) to create a development build that includes your native code, no local Android toolchain required.

End-to-end process:

  • Install the development client: npx expo install expo-dev-client (see the guide to running your Expo app on a real device for context).
  • Configure builds: npx eas build:configure and ensure your eas.json development profile sets developmentClient: true.
  • Start a cloud build: eas build --profile development --platform android. On typical networks, first builds often complete in about 10–20 minutes in the cloud (varies by queue and project size; the same real-device guide outlines the dev client and EAS flow).
  • Install and run: Download the APK, install it on your device or emulator, then run npx expo start and connect the dev client to your local server.

You only need a new native build when you add, remove, or update native modules, or when you alter native files such as AndroidManifest or Gradle config. Standard JavaScript edits do not require rebuilding, speeding up your daily loop significantly.

Installing and using an Android emulator

An Android emulator is optional for many Expo users, but it’s useful for device simulation, layout checks at various form factors, and CI tasks.

First-time setup:

  • Install Android Studio, then install Android SDKs and create an AVD (Android Virtual Device).
  • Set ANDROID_HOME and update PATH if needed.
  • Downloading SDKs, system images, and tools can take significant time depending on bandwidth, first runs commonly take 30–120+ minutes from scratch, as discussed in the natively.dev guide to Expo development.
  • After the emulator is running, in Expo CLI press a to launch your app inside the emulator (documented in this guide to developing with Expo).

Once the emulator is set up, subsequent boots and app launches are much faster.

Practical time estimates for each setup approach

Typical timeframes (first-time vs. prepped environments):

  • Real device with Expo Go: 5–15 minutes, including installing Expo Go and running npx expo start. Expect faster if Node.js is already installed and network is open.
  • Development build with EAS: 10–30+ minutes for the first build (cloud queue + build + install). Incremental JavaScript edits then reload instantly without rebuilding.
  • Emulator setup and first run: 30–120+ minutes for fresh Android Studio, SDKs, and AVD creation; subsequent app runs are quick.

Why times vary:

  • Prior installations (Node.js, Git, Android Studio)
  • Network speed and firewall/VPN constraints
  • Whether you can use Expo Go vs. requiring native builds

Sample scenarios:

  • New developer, empty project: Install Node.js, run npx create-expo-app and npx expo start, install Expo Go, scan QR, often live in ~10 minutes on a friendly network.
  • Seasoned dev, complex app with native modules: Configure EAS and build a dev client, plan ~15–30 minutes for the first Android build; thereafter, iterate rapidly with hot reload.

Best practices and tips to speed up setup and build

Quick checklist:

  • Install Node.js and dependencies; clone or open your project.
  • Run npx expo start; install Expo Go for the fastest real-device preview.
  • If you need native modules, set up expo-dev-client and use EAS Build for a development build.

Recommendations:

  • Prefer real-device testing for accurate performance and UX; Expo’s environment setup guide emphasizes this simple QR-based flow on Android.
  • Lean on hot reload and over-the-air updates to minimize build downtime; the Expo platform overview highlights OTA updates that deliver JavaScript and asset changes without app store resubmissions.

Common issues and quick fixes:

  • Device and laptop on different networks: Connect both to the same Wi‑Fi or switch to tunnel mode in Expo CLI.
  • Corporate firewalls/VPNs block LAN traffic: Disable VPN, try mobile hotspot, or use tunnel mode.
  • Emulator networking/proxy quirks: Reset AVD network, clear proxy, or cold boot now.
  • Stuck caches: Restart Metro (npx expo start -c), clear npm/Yarn cache, or reinstall node_modules.

Where TestMu AI fits:

  • When you need broader coverage, pair your Expo workflow with TestMu AI’s real device cloud to debug your app on a wide range of Android phones and OS versions, and to automate flows using tools like Appium and Espresso. See TestMu AI’s guide to testing React Native apps on iOS and Android for practical steps to scale beyond local devices.

Author

Bhawana is a Community Evangelist at TestMu AI with over two years of experience creating technically accurate, strategy-driven content in software testing. She has authored 20+ blogs on test automation, cross-browser testing, mobile testing, and real device testing. Bhawana is certified in KaneAI, Selenium, Appium, Playwright, and Cypress, reflecting her hands-on knowledge of modern automation practices. On LinkedIn, she is followed by 5,500+ QA engineers, testers, AI automation testers, and tech leaders.

Frequently asked questions

Did you find this page helpful?

More Related Hubs

TestMu AI forEnterprise

Get access to solutions built on Enterprise
grade security, privacy, & compliance

  • Advanced access controls
  • Advanced data retention rules
  • Advanced Local Testing
  • Premium Support options
  • Early access to beta features
  • Private Slack Channel
  • Unlimited Manual Accessibility DevTools Tests