This page is about emulating Android apps and games on PC as it is slowly building off an important library of exclusives, and emulation coupled with CheatEngine is certainly interesting. If you're interested in emulators for your Android phone, check this page instead.
Android is a mobile operating system (OS) based on the Linux kernel and currently developed by Google. Unlike iPhone, as well as older cell-phone models and older Japanese Galapagos mobile phones, emulating Android software on PC is more developed, though no open source emulator with a high degree of game compatibility exists yet.
Like with DS emulators, the computer mouse is used to emulate touch screen presses (which can be less than ideal in many cases), and the keyboard emulates the button controller add-ons. Some emulators support X360 controllers as well with some more tweaks.
Android apps come in the apk file format (occasionally coupled with obb files). Just like its iOS equivalent (ipa files), their innards can be opened as a regular zip file.
|Genymotion||Windows, Mac, Linux||2.7.2 (Official Site)||✓ (Non-Dev Versions)||VirtualBox||High||✓|
|BlueStacks||Windows, Mac||Official Site||✓||Original||Mid||✓|
|Droid4x||Windows, Mac||Official Site||✓||Original||High||✗|
|andyroid||Windows, Mac||Official Site||✓||VirtualBox||Mid||✓|
|ARC Welder (Google Chrome)||Windows, Mac, Linux, Chrome OS||50.5021.602.0 (Official Site)||✓||Original||Mid||✗|
|Android x86||Multi-platform||4.4-r5 (Official Site)||✓||N/A||Low||✗|
|Shashlik||Linux||0.9.3 (Official Site)||✓||Original||Low||✗|
|Xamarin Android Player||Windows, Mac||Discontinued||✗||VirtualBox||?||✗|
|Nox App Player||Windows||18.104.22.168||✓||?||High||✓|
|Project Astoria||Windows 10 Mobile||Discontinued||✗||Original||Low||✗|
The VM column describes what backend technology the emulator uses. Emulators labeled with "VirtualBox" requires the user to install Oracle VM VirtualBox.
- Genymotion is an Android emulator with hardware-accelerated 3D graphics and USB host support, available for Windows, Mac and Linux. In its latest versions, it has pretty good compatibility with commercial games. It's a commercial product though, aimed at software developers and QA teams. You'll need to create an account and download the free non-commercial use license available. Except for pay-to-remove "free for personal use" watermark on the screen, paid builds add features only useful for Android app developers.
- Setting up the emulator itself is not too hard, but a bit of tinkering is required to add the Google Play store and ARM processor emulation (what you need essentially here to play the commercial releases) as well as Xbox 360 controller support. Not noob-friendly, but if you're experienced enough with Android to know your way around a rooted filesystem it shouldn't be too hard.
- Bluestacks is also commercial with a free option (requires a google account). It's less good than Genymotion, and doesn't handle USB cable emulation. Previous versions used to come with an installer with adware, comes with junk apps within the emulator, and has a non-intuitive uninstaller, but that's no longer the case today. It includes Google Apps by default, though you'll need to install a file manager to copy game cache when loading your own apks.
- MEmu is a free Android emulator with very good accuracy, sometimes outperforming Bluestacks.
- Droid4x has good accuracy but forcefully uninstalls VirtualBox, so it cannot co-exist with Genymotion and Xamarin. It's not recommended because it will install hidden background services (xunlei.exe, and Thunder.exe, both by the Chinese company which developed Droid4x) in the background seeding Chinese torrents constantly and they are a pain to uninstall or deactivate (in case you've already fallen for it, use Revo Uninstaller).
- andyroid works too, though the company behind it did adware before previously.
- Just like Genymotion, Andyroid also use VirtualBox, but with a twist: if it detects an installed virtualbox during installation, it will delete it and will refuse to work. Beware!
- DuOS, not to be confused with a similarly-named Nintendo DS emulator by Roor, is a relative newcomer to the Android emulation market, made by American Megatrends i.e. the very same people behind the BIOS/UEFI firmware your PC may be using. Emulation is modest at best, with games and apps such as DraStic struggling on lower-end hardware. And to top it all off, it ain't free either.
- Google Chrome can open apk files using the ARC Welder extension, though their emulation on PC is average at best. Here's a compatibility list and a dedicated subreddit. Google has announced Play Store for Chrome OS, but it works on a different "container" technology that is embed to the Chrome OS. In addition, Google will discontinue Google Chrome apps on PC, so any major updates to ARC Welder for PC is unlikely.
- Windroy (without the 'e' suffix) is a fast Android emulator that does not rely on VirtualBox or any similar technology. It isn't accurate though. While Google Play store can be installed with some tinkering, not many games can be installed (due to not faking device names) and will spawn multiple harmless-yet-annoying app_process.exe crashes. Official site is down since July 2016, so any updates are unlikely.
- Windroye (with the 'e' suffix) rely on VirtualBox, but still offers better performance than Bluestacks. The Play Store is installed by default and has no stability issues found from classic Windroy. A related Reddit topic can be found here.
- Android x86 is a open-source project that aims to port Android operating system to x86-based netbooks. While it can be run on virtual machines like VirtualBox, it does not have 3D graphics emulation and cannot run most games. Genymotion is (or at least used to be) a closed-source fork of Android x86, designed exclusively to be run on VirtualBox.
- Anbox is a project that aims to run Android applications on Ubuntu distributions. Currently it is on alpha state and only known to work on Ubuntu 16.04. Anbox requires custom kernel modules to run because unlike other emulators which emulates the whole Linux kernel, this one uses the host system's Linux kernel directly.
- Shashlik is a project by KDE that aims to run Android applications on Linux using KDE5 and Qt5 technology. The project is infancy state and only known to run on latest Kubuntu versions. It currently lacks ARM processor emulation, so not many games will run. It is however known to play Flappy Bird and can show Spotify's login screen. It uses modified Qemu to emulate the Android operating system. Last major update was March 2016 and seems abandoned.
- Xamarin Android Player was a newcomer to the Android emulation market. Not much is known about this because it required a minimum of $25/month subscription of main Xamarin products. The main Xamarin products were made available for free after the purchase by Microsoft, but Xamarin Android Player was discontinued.
- Project Astoria was a Microsoft-developed Android emulator for Windows 10 Mobile included in several insider previews. It could run a few applicaions, though apps required Google Play Services did not run or had issues. This project was reportedly discontinued in November 2015 and its cancellation was confirmed on February 2016, so the emulator is not included in more recent versions of Windows 10 Mobile.
General Emulation issues
Lack of Release Notes and Update History information
While some emulators such as Genymotion do have version history on their website, most other emulators do not have such history pages, making it difficult to track updates as well as regressions.
Many emulators, such as Droid4x, andyroid, Genymotion and Xamarin cannot co-exist on the same machine because they will uninstall each other. This can be a problem if one game runs only on one of these emulators but the other games do not work on it.
Likely due to licensing issues, most Android emulators do not come with Google-related applications and related libraries preinstalled (Google Play Store, Play Services, Play Games client, etc) and requires the user to manually install them. Many games verify the existence of Google-related components at the start and refuse to work if some or any of them are missing.
Most commercial games are developed and published only for devices with ARM CPUs such as most smartphones and tablets. However, the PCs we regularly use contain x86 CPUs, so these games cannot directly run. Some emulators like Bluestacks have ARM emulation by default, and in some others like Genymotion it is possible to install ARM emulator manually. The ARM emulator requires Intel CPUs to work correctly and not guaranteed to work with all games.
Games with root/Custom ROMs/Emulator Detection
Many commercial games refuse to run if the device is "rooted" (hacked to allow access to deep portion of Android OS) in order to reduce cheating and pirating. If the emulator is rooted by default, it must be unrooted manually before the game can be played.
Some games are very aggressive that they detect Custom ROMs (unofficial firmware) or Android emulators (like the ones listed in this page) by variety of ways like checking the existence and absence of system files in order to prevent the game from running in any unauthorized environments. These games are very difficult or plain impossible to play on emulators without resorting to cracked versions of the games. Solutions exist, like using MagiskSU (bundled with the Magisk flashable zip) and hiding root on anything Google Play related or installed apps that check for it.
Emulator Specific Issues
- Bluestacks is downloading apps in the background automatically:
Bluestacks downloads tons of data (hundreds of MBs daily) if left unattended. The default launcher installed within is to blame for this. Go to Settings, Apps, Running and select the Gamepop-Home app service and force stop its activity. Get another replacement launcher, like the Nova Launcher, and install it. You may also want to remove other useless apps installed by default (though the Google Play services might be required by some games).
This step alone makes Bluestacks uses much less RAM and internet bandwidth, with tangible performance gains for the emulated apps.
- Can't root the device:
The latest Kingroot's apk will do the job when loaded inside Bluestacks. It's that simple.
Alternatively, you could use Universal Bluestacks Rooting Software on an existing Bluestacks installation. Before opening it, go to the folder where Bluestacks is installed under Program Files, and run "HD-Quit.exe" once.
Then, from the extracted "Bluestacks RootEZ 32_64", open as administrator "Bluestacks RootEZ.exe". Click "Automatic Detect from Installed Bluestacks", enable "Enlarge System (Root.fs) Size to 400MB", and click "I'm ready for Step 1". A command-line window should appear. Now just wait until "Preparing Complete" appears. Then, click "Go for Step 2" and wait until "Rooting is Complete" appears.
Close the application, and open the "output" folder in the same directory as the extracted application. You should find a newly generated "Root.fs" file. You can use it to replace the existing one under "%programdata%\BlueStacks\Android" (Press Windows+R and go there), but it's recommended to keep a backup of the original in case the new one causes Bluestacks to hang in the loading screen for more than a few minutes.
The package also includes Nova Explorer and Root Launcher. You may verify the rooting status with the "Root Checker" app from Google Play. Considering some apps check for Google Play services for online checks, you can also install "Modded Google Play Store", "Lucky Patcher" and "Magisk".
- Unable To Launch VM Process:
On the taskbar, right-click Andyroid's notification icon, and choose Settings, Advanced, Set Andy Protocol. Type "tcp" and confirm, then launch Andyroid.
- Cellphone emulators - info on emulators for various feature phone/non-smartphone platforms.