Skip to content

Requirements

android-emu-web runs the official Android emulator on your own Mac and shows it in a browser tab. Nothing runs on a remote server. You install a small local program (the gateway), and you need the Android emulator and a system image on the same Mac.

  • A Mac with Apple Silicon (M1 or later). Version 1 supports only Apple Silicon Macs and arm64 system images.
  • Intel Macs, Windows and Linux are not supported in version 1.
  • Google Chrome or Microsoft Edge.
  • Safari and Firefox are not supported. See Browser support for the reason.

The gateway uses these parts of the Android SDK:

Component Used for Approximate download size
emulator Runs the Android virtual device about 400 MB
system-images;android-34;google_apis;arm64-v8a The Android 14 (API 34) system image about 1.5 GB
Component Used for Approximate download size
platform-tools adb, to check boot state and stop devices about 15 MB
Component Used for Approximate download size
cmdline-tools sdkmanager and avdmanager, to install the other parts and create a device -

You do not need to open Android Studio. If you already have the SDK from Android Studio, the gateway uses it. It looks for the SDK in this order:

  1. The directory in the ANDROID_HOME environment variable.
  2. ~/Library/Android/sdk.

If something is missing, the gateway tells you what and asks before it downloads anything. See First run.

Each running emulator uses the RAM set in its device configuration. The default device that the gateway can create uses 4096 MB. One device is shown at a time.

On an M4 Mac with a Pixel 5 API 34 virtual device (1080×2340) in Chrome 157, using the rgba-mmap frame transport (raw RGBA frames over shared memory), the screen updated at a median of 60 frames per second, and tap latency was 20 ms at p50 and 30 ms at p90. Your numbers depend on your Mac, the device and the browser.

CPU was measured on the same setup during 16 back-to-back swipes, summing the emulator, the gateway and the display process (all Chrome processes). android-emu-web used 257% (emulator 136% + gateway 69% + Chrome 52%). scrcpy, measured the same way with the same emulator, used 208% (emulator 203% + scrcpy 5%), so android-emu-web used 1.24 times as much CPU.