Skip to content

Troubleshooting

Common issues and how to fix them.

Emu falls back to CPU-based emulation when hardware acceleration is not available. This is significantly slower.

  • Linux: Verify KVM is enabled: ls /dev/kvm. If missing, enable virtualization in your BIOS/UEFI settings.
  • Windows: Enable Hyper-V or WHPX in Windows Features.
  • macOS: Hardware acceleration is available by default on Apple Silicon.

If an emulator crashes on startup, try cold booting it — this discards any saved state that may be corrupted. In the device list, use the emulator’s context menu to select Cold Boot.

If that doesn’t help, check the emulator log. Emu writes emulator output to a log file that you can view from the device context menu.

Android SDK setup appears when SDK is already installed

Section titled “Android SDK setup appears when SDK is already installed”

On macOS, Emu may show the SDK setup screen on launch even though you already have the Android SDK installed. This is expected — macOS does not pass environment variables like ANDROID_HOME from your shell profile (~/.zshrc, ~/.bashrc) to GUI apps launched from Finder, Spotlight, or the Dock.

When the setup screen appears, select your existing SDK directory (typically ~/Library/Android/sdk). Emu saves this location and won’t ask again.

Emu tries multiple streaming backends in order and falls back through each one. If all fail:

  1. Verify the device is online in the device list.
  2. For emulators, verify gRPC is enabled (it is by default in modern Android Emulator versions).
  3. Try switching the mirror backend manually in Settings > Mirroring.
  4. Restart the device connection by clicking on a different device and back.

When the device rotates, the video encoder restarts. You may see a brief blank frame (~100ms). This is a limitation of the current scrcpy protocol version and may be eliminated in a future update.

Android’s default input pipeline cannot inject non-Latin characters (CJK, emoji, accented characters) via key events. Enable the Companion IME in Settings to use a direct text injection path that supports all Unicode characters.

If the companion IME is not available, Emu falls back to clipboard paste — it copies the text to the device clipboard and triggers a paste action.

  • Verify the proxy is started — click Enable in the Network tab.
  • The device must be a rooted emulator (userdebug or eng system image). Play Store images and non-rooted physical devices cannot have the proxy certificate injected.

Some apps use certificate pinning, which rejects the injected proxy certificate. Emu cannot intercept traffic from these apps without modifying the app itself.

“Snapshots are not supported with this emulator’s GPU mode”

Section titled ““Snapshots are not supported with this emulator’s GPU mode””

Emulator snapshots are incompatible with certain GPU modes. Switch the GPU mode to Host or Auto in the device wizard or settings to enable snapshot support.

The /sdcard path is a double symlink on Android (/sdcard/storage/self/primary/storage/emulated/0). The first listing attempt may return empty. Emu automatically resolves the symlink and retries — if you see an empty listing, navigate into the path again and it will populate.