An emulator is a program that recreates the behavior of another device on your computer. With an Android emulator you can open a "virtual phone" on Windows or Mac and run Android apps.

Examples#

  • A developer uses an emulator to test an app on several screen sizes and Android versions without buying several phones.
  • Gamers use emulators to play mobile games on a computer's large screen.
  • Emulators of old consoles also run classic games on a computer.

Advantages#

  • It reduces the cost of buying many devices.
  • Conditions such as weak internet, different locations or various languages can be simulated.
  • Risky situations (such as testing an unknown app) can be tried safely without touching your main phone.

Limitations#

  • Speed is not always equal to a real phone and can be heavy.
  • Some sensors such as biometrics or NFC are not simulated accurately.
  • Some apps and games detect an emulated environment and refuse to run.

How it differs from a virtual machine#

A virtual machine runs a whole computer on similar hardware; an emulator recreates different hardware in software. In practice, today's tools combine both approaches. For final app testing, a real phone is still the best.