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.