Difference between revisions of "Android emulators"

From Emulation General Wiki
Jump to navigation Jump to search
(Emulators)
(VMOS)
(47 intermediate revisions by 14 users not shown)
Line 1: Line 1:
'''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 [[:Category:Consoles]] and see individual console page.'''
+
:''This page is about emulating Android on other computers, like desktops. For the inverse, see [[Emulators on Android]].''
 +
{{Infobox console
 +
|title = Android
 +
|logo = Android.png
 +
|developer = Google<br/> Open Handset Alliance
 +
|release = 2008
 +
|emulated = {{✓}}
 +
}}
  
'''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.
+
'''[[wikipedia:Android (operating system)|Android]]''' is a mobile operating system developed by Google and the Open Handset Alliance. It was originally developed in secret before launching in 2008 as a competitor against Apple's [[iOS emulators|iPhone]]. While other mobile operating systems had been made throughout the years, none have emerged in terms of market share nearly as much as Android.
  
Like with [[Nintendo DS emulators]], the computer mouse is used to emulate touchscreen 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 is like a Linux distribution in that it uses the Linux kernel to facilitate communication with the hardware and manage processes on the system. Unfortunately, the similarities end there as Android uses an entirely different toolset from standard Linux distributions and no support is given for running it on PCs. (Software development on Android is also nothing like Linux development as apps are compiled into architecture-specific <code>APK</code>s via Java which, like IPA files on [[iOS emulators|iOS]], are specially designed Zip files. They may be occasionally coupled with <code>OBB</code> files). While Android can technically run Linux binaries, doing so requires superuser privileges that Android does not provide by default. For many devices, you can expect to see a custom ROM that has an integrated su binary (or a means to install it easily, such as a custom recovery) but not all devices have one.
  
Android apps come in the .apk file format (occasionally coupled with .obb files). Just like its [[IOS emulators|iOS]] equivalent (IPA files), their innards can be opened as a regular ZIP file.
+
However, the Linux kernel is flexible enough that it can be emulated well unlike iOS, older cell-phone models, and older Japanese Galapagos mobile phones. While Android natively supports mice<ref group=N>If you have an Android device you can confirm this by connecting a Bluetooth mouse or a USB mouse via a USB On-the-Go adapter.</ref>, most apps expect users to have a touchscreen, so Android emulators will usually default to emulating touchscreen presses like [[Nintendo DS emulators|DS emulation]] (though it can be less than ideal in many cases). The host's keyboard may often emulate the button controller add-ons, and some emulators support [[Xbox 360 emulators|Xbox 360]] controllers as well with some more tweaks.
  
 
==Emulators==
 
==Emulators==
'''Important Note:''' These emulators are usually closed source and while they're distributed for free, their devs look for roundabout ways to monetize them. One such high profile case was BlueStacks. Make sure to check if there are pre-installed apps on your emulator (and disable them), monitor your Internet connection download caps and processor activity to detect any abnormal activity (and block domains accordingly if the need arises) and avoid as much as possible giving sensitive account data (just in case it's key-logged). Besides basic safety, these precautions often make impacted emulators run much faster when the adware services and apps are turned off.
+
<div style="color:#000;background:#eef2ff;border:1px solid #b7c5d9;border-radius:8px;padding-left:1em;display:inline-block;padding-right:1em;">
 +
'''Important Note:''' These emulators are usually closed source and while they're distributed for free, their devs look for roundabout ways to monetize them. One such high profile case was BlueStacks. Make sure to check if there are pre-installed apps on your emulator (and disable them), monitor your Internet connection download caps and processor activity to detect any abnormal activity (and block domains accordingly if the need arises) and avoid as much as possible giving sensitive account data (just in case it's key-logged). Besides basic safety, these precautions often make impacted emulators run much faster when the adware services and apps are turned off. Windows subsystem for Android is an exception, as Microsoft made it and monetizing comes from the Windows copy you brought.
 +
</div>
  
 
{| class="wikitable" style="text-align:center;"
 
{| class="wikitable" style="text-align:center;"
Line 15: Line 24:
 
! scope="col"|Platform(s)
 
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! scope="col"|Version
! scope="col"|Free
 
 
! scope="col"|VM
 
! scope="col"|VM
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 
! scope="col"|[[Emulation Accuracy|Accuracy]]
 +
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 +
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|-
! colspan="7"|PC / x86
+
! colspan="8"|PC / x86
 
|-
 
|-
 
|[[Genymotion]]
 
|[[Genymotion]]
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://www.genymotion.com/download/ {{GenymotionVer}}]
 
|[https://www.genymotion.com/download/ {{GenymotionVer}}]
|{{✓}} (Non-Dev Versions)
 
 
|VirtualBox
 
|VirtualBox
 
|High
 
|High
|{{✓}}
+
|{{✗}} ||{{✓}} ||{{✓}}
 
|-
 
|-
 
|[[BlueStacks]]
 
|[[BlueStacks]]
 
|align=left|{{Icon|Windows|macOS}}
 
|align=left|{{Icon|Windows|macOS}}
|[http://www.bluestacks.com/ {{BlueStacksVer}}]
+
|[https://www.bluestacks.com/ {{BlueStacksVer}}]
|{{✓}}
 
 
|QEMU (before v2.5) / VirtualBox (after v2.5)
 
|QEMU (before v2.5) / VirtualBox (after v2.5)
 
|High
 
|High
|{{✓}}
+
|{{✗}} ||{{✓}} ||{{✓}}
 +
|-
 +
 
 +
|-
 +
|[[Windows Subsystem for Android]]
 +
|align=left|{{Icon|Windows}} (11 and up, windows 10 unofficially)
 +
|Comes with Windows store
 +
|Hyper-V
 +
|?
 +
|{{✗}} ||{{✓}} ||{{~}}
 
|-
 
|-
 
|MEmu
 
|MEmu
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[https://www.memuplay.com/ 7.0.8]
+
|[https://www.memuplay.com/ {{MEmuVer}}]
|{{}}
 
 
|VirtualBox
 
|VirtualBox
 
|High
 
|High
|{{✓}}
+
|{{✗}} ||{{✓}} ||{{✓}}
 
|-
 
|-
 
|LDPlayer
 
|LDPlayer
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[http://en.ldplayer.net/ 3.79]
+
|[https://en.ldplayer.net/ 4.0.50.3]
|{{✓}}
 
 
|VirtualBox
 
|VirtualBox
 
|High
 
|High
|{{✓}}
+
|{{✗}} ||{{✓}} ||{{✓}}
 
|-
 
|-
|Nox App Player
+
|NoxPlayer
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[https://www.bignox.com/ 6.5.0.3]
+
|[https://www.bignox.com/ 7.0.2.0]
|{{✓}}
 
 
|VirtualBox
 
|VirtualBox
 
|High
 
|High
|{{✓}}
+
|{{✗}} ||{{✓}} ||{{✓}}
 
|-
 
|-
|MuMu App Player
+
|MuMu
 
|align=left|{{Icon|Windows|macOS}}
 
|align=left|{{Icon|Windows|macOS}}
|[https://mumu.163.com/global/download/en/index.html 1.1.0.2]
+
|[https://mumu.163.com/global/download/en/index.html 1.1.0.2]<br />[https://mumu.163.com/ 1.1.0.5 (v2.3.17) (Chinese Version)]
|{{✓}}
 
|VirtualBox
 
|High
 
|{{✓}}
 
|-
 
|Peak App Player
 
|align=left|{{Icon|Windows}}
 
|[https://www.peakplayer.net/ 1.2.5]
 
|{{✓}}
 
 
|VirtualBox
 
|VirtualBox
 
|High
 
|High
|{{✓}}
+
|{{✗}} ||{{✓}} ||{{✓}}
 
|-
 
|-
|tiantian app player
 
|align=left|{{Icon|Windows}}
 
|[http://www.ttmnq.com/en/ 3.2.8]
 
|{{✓}}
 
|VirtualBox
 
|Mid
 
|{{✗}}
 
 
|-
 
|-
|Andyroid
+
|[[Anbox]]
|align=left|{{Icon|Windows|macOS}}
+
|align=left|{{Icon|Linux}}
|[https://andyroid.net/ 0.47.226.1076.7]
+
|[https://anbox.io/ git]
|{{✓}}
+
|Not an emulator (wine-like approach)
|VmWare
+
|~
|High
+
|{{✓}} ||{{✓}} ||{{}}
|{{}}
 
 
|-
 
|-
 
|Android x86
 
|Android x86
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|align=left|{{Icon|Windows|Linux|macOS}}
|[http://www.android-x86.org 8.1-rc2]
+
|[https://www.android-x86.org 8.1-r6]
|{{✓}}
 
 
|VirtualBox, VMWare (for 3d acc)
 
|VirtualBox, VMWare (for 3d acc)
 
|Mid
 
|Mid
|{{✗}}
+
|{{✓}} ||{{✓}} ||{{✗}}
 
|-
 
|-
 
|Android Studio
 
|Android Studio
 
|align=left|{{Icon|Windows|Linux}}
 
|align=left|{{Icon|Windows|Linux}}
|[https://developer.android.com/studio/ 3.5.3]
+
|[https://developer.android.com/studio/ 4.0]
|{{✓}}
 
 
|QEMU
 
|QEMU
 
|Low
 
|Low
|{{✗}}
+
|<span title="Source-available"><sup>{{~}}</sup></span> ||{{✓}} ||{{✗}}
 
|-
 
|-
|Anbox
+
|Andy OS
|align=left|{{Icon|Linux}}
+
|align=left|{{Icon|Windows|macOS}}
|[https://anbox.io/ Git]
+
|[https://andyroid.net/ 0.47.226.1096.26]
|{{✓}}
+
|VmWare
|Not an emulator (wine-like approach)
 
|?
 
|{{✓}}
 
|-
 
!colspan="7"|Consoles
 
|-
 
|LineageOS
 
|align=left|{{Icon|Switch}}
 
|[https://switchroot.org/ 15.1]
 
|{{✓}}
 
|based of the Nvidia Shield TV build of LineageOS
 
|?
 
|{{✓}}
 
|-
 
!colspan="7"|Abandoned/Discontinued
 
|-
 
|LeapDroid
 
|align=left|{{Icon|Windows}}
 
|[http://www.leapdroid.com/ 1.8.0]
 
|{{✓}}
 
|VirtualBox
 
|High
 
|{{✓}}
 
|-
 
|SmartGaGa
 
|align=left|{{Icon|Windows}}
 
|[https://www.smartgaga.com/ 1.1.523]
 
|{{✓}}
 
|VirtualBox
 
 
|High
 
|High
|{{✓}}
+
|{{✗}} ||{{✓}} ||{{✗}}
 
|-
 
|-
 
|AMI DuOS
 
|AMI DuOS
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
 
|[https://ami.com/en/tech-blog/farewell-amiduos/ 2.0.8.8511]
 
|[https://ami.com/en/tech-blog/farewell-amiduos/ 2.0.8.8511]
|{{✓}}
 
 
|VirtualBox
 
|VirtualBox
 
|Mid
 
|Mid
|{{✗}}
+
|{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|-
 
|ARC Welder<br /><small>(Google Chrome)</small>
 
|ARC Welder<br /><small>(Google Chrome)</small>
 
|align=left|{{Icon|Windows|Linux|macOS|Web}}
 
|align=left|{{Icon|Windows|Linux|macOS|Web}}
|[https://developer.chrome.com/apps/getstarted_arc 50.5021.602.0]
+
|[https://developer.chrome.com/apps/getstarted_arc ARC 50.5021.602.0]
|{{}}
+
|Original
 +
|Mid
 +
|{{✗}} ||{{✗}} ||{{✗}}
 +
|-
 +
|ARChon<br /><small>(Google Chrome)</small>
 +
|align=left|{{Icon|Windows|Linux|macOS|Web}}
 +
|[https://archon-runtime.github.io/ ARC 41.4410.238.0]
 
|Original
 
|Original
 
|Mid
 
|Mid
|{{✗}}
+
|<span title="Source-available"><sup>{{~}}</sup></span> ||{{✗}} ||{{✗}}
 
|-
 
|-
 
|Droid4X
 
|Droid4X
 
|align=left|{{Icon|Windows|macOS}}
 
|align=left|{{Icon|Windows|macOS}}
|[http://droid4x.haimawan.com 0.10.7]
+
|[https://droid4x.cc/ 0.10.7]
|{{✓}}
 
 
|VirtualBox
 
|VirtualBox
 
|High
 
|High
|{{✗}}
+
|{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|-
 
|KoPlayer
 
|KoPlayer
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[http://www.koplayer.com 2.0.0]
+
|[https://koplayerpc.com/ 2.0.0]
|{{✓}}
 
 
|VirtualBox
 
|VirtualBox
 
|High
 
|High
|{{}}
+
|{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|-
|XePlayer
+
|LeapDroid
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[http://xeplayer.com/ 6.0.10]
+
|[http://www.leapdroid.com/ 1.8.0]
|{{✓}}
 
 
|VirtualBox
 
|VirtualBox
 
|High
 
|High
|{{}}
+
|{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|-
|Windroy
+
|Peak App Player
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|1.2
+
|[http://web.archive.org/web/20191120002207/http://www.peakplayer.net/index.php/en/peakplayeren/ 1.2.5 Beta 2]
|{{}}
+
|VirtualBox
|Original
+
|High
|Low
+
|{{}} ||{{✗}} ||{{✗}}
|{{✗}}
 
 
|-
 
|-
 
|Shashlik
 
|Shashlik
 
|align=left|{{Icon|Linux}}
 
|align=left|{{Icon|Linux}}
|[http://www.shashlik.io 0.9.3]
+
|[http://www.shashlik.io/ 0.9.3]
|{{✓}}
 
 
|Original
 
|Original
 
|Low
 
|Low
|{{✗}}
+
|{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
|-
|Project Astoria
+
|SmartGaGa
|align=left|{{Icon|WindowsMobile}}
+
|align=left|{{Icon|Windows}}
|Discontinued
+
|[http://web.archive.org/web/20190820044528/https://www.smartgaga.com/ 1.1.646]
|{{✗}}
+
|VirtualBox
 +
|High
 +
|{{✗}} ||{{✗}} ||{{✗}}
 +
|-
 +
|Windroy
 +
|align=left|{{Icon|Windows}}
 +
|[https://sourceforge.net/projects/windroy/ 4.0.3]
 
|Original
 
|Original
 
|Low
 
|Low
|{{✗}}
+
|{{✗}} ||{{✗}} ||{{✗}}
 +
|-
 +
|Windroye
 +
|align=left|{{Icon|Windows}}
 +
|2.9.1
 +
|VirtualBox
 +
|Mid
 +
|{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|-
 
|Xamarin Android Player
 
|Xamarin Android Player
 
|align=left|{{Icon|Windows|macOS}}
 
|align=left|{{Icon|Windows|macOS}}
|[https://developer.xamarin.com/releases/android/android-player/ 0.6.5]
+
|[https://github.com/xamarin/release-notes-archive/blob/master/release-notes/android/android-player/index.md 0.6.5]
|{{✗}}
 
 
|VirtualBox
 
|VirtualBox
|?
+
|Mid
|{{✗}}
+
|{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|-
|Windroye
+
|XePlayer
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|2.9.0
+
|[http://xeplayer.com/ 6.0.10]
|{{✓}}
 
 
|VirtualBox
 
|VirtualBox
|Mid
+
|High
|?
+
|{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|-
 
|YouWave
 
|YouWave
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
 
|[https://youwave.com/ 5.11]
 
|[https://youwave.com/ 5.11]
|{{✓}}
 
 
|VirtualBox
 
|VirtualBox
 
|Mid
 
|Mid
|{{✗}}
+
|{{✗}} ||{{✗}} ||{{✗}}
 +
|-
 +
!colspan="8"|Mobile / ARM
 +
|-
 +
|LineageOS
 +
|align=left|{{Icon|LinuxARM}}
 +
|[https://konstakang.com/ 18.1 <small>(Raspberry Pi 3/4)</small>]
 +
|Not an emulator (actual AOSP)
 +
|High
 +
|{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[[Anbox]]
 +
|align=left|{{Icon|LinuxARM}}
 +
|[https://anbox.io/ git]
 +
|Not an emulator (wine-like approach)
 +
|~
 +
|{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|VMOS
 +
|align=left|{{Icon|Android}}
 +
|[https://www.vmos.com/ website]
 +
|?
 +
|Mid
 +
|{{✓}} ||{{✗}} ||{{✓}}
 +
|-
 +
|Project Astoria
 +
|align=left|{{Icon|Win10Phone}}
 +
|Discontinued ($)
 +
|Original
 +
|Low
 +
|{{✗}} ||{{✗}} ||{{✗}}
 +
|-
 +
!colspan="8"|Consoles
 +
|-
 +
|LineageOS
 +
|align=left|{{Icon|Switch}}
 +
|[https://switchroot.org/ 15.1]
 +
|based of the Nvidia Shield TV build of LineageOS
 +
|~
 +
|{{✓}} ||{{✓}} ||{{✓}}
 
|}
 
|}
 +
 
The VM column describes what backend technology the emulator uses. Emulators labeled with "VirtualBox" sometimes needs the user to install [https://www.virtualbox.org/ Oracle VM VirtualBox]. Usually, it is installed automatically.
 
The VM column describes what backend technology the emulator uses. Emulators labeled with "VirtualBox" sometimes needs the user to install [https://www.virtualbox.org/ Oracle VM VirtualBox]. Usually, it is installed automatically.
  
Line 256: Line 272:
 
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) that seed Chinese torrents constantly and they are a pain to uninstall or deactivate (in case you've already fallen for it, use Revo Uninstaller).
 
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) that seed Chinese torrents constantly and they are a pain to uninstall or deactivate (in case you've already fallen for it, use Revo Uninstaller).
  
;Andyroid
+
;Andy OS
:Not recommended because it will install a [https://www.reddit.com/r/emulation/comments/8rq4fm/reminder_that_andyroid_mines_cryptocurrency/ cryptocurrency miner] on your system without asking or informing about this to the user. Just like Genymotion, Andyroid uses VirtualBox, but with a twist: if it detects an installed VirtualBox during installation, '''it will delete it''' and will refuse to work. Beware!
+
:Not recommended because it will install a [https://www.reddit.com/r/emulation/comments/8rq4fm/reminder_that_andyroid_mines_cryptocurrency/ cryptocurrency miner] on your system without asking or informing about this to the user. Just like Genymotion, Andy OS uses VirtualBox, but with a twist: if it detects an installed VirtualBox during installation, '''it will delete it''' and will refuse to work. Beware!
  
 
;DuOS
 
;DuOS
Line 274: Line 290:
 
:An open-source project that aims to port the Android operating system to x86-based netbooks. Comes with Google Play and libhoudini (x86/ARM translation layer) installed. 3D acceleration works well both when installed directly on the machine as a local OS and also on VMware. VMware Player 15 supports emulating OpenGL ES 3 on the target and performance is quite good. VirtualBox 3d support is poor and probably won't work. Android x86 is continually being improved and can be tried fairly painlessly through VMware. Genymotion is (or at least used to be) a closed-source fork of Android x86, designed exclusively to be run on VirtualBox.
 
:An open-source project that aims to port the Android operating system to x86-based netbooks. Comes with Google Play and libhoudini (x86/ARM translation layer) installed. 3D acceleration works well both when installed directly on the machine as a local OS and also on VMware. VMware Player 15 supports emulating OpenGL ES 3 on the target and performance is quite good. VirtualBox 3d support is poor and probably won't work. Android x86 is continually being improved and can be tried fairly painlessly through VMware. Genymotion is (or at least used to be) a closed-source fork of Android x86, designed exclusively to be run on VirtualBox.
  
;Anbox
+
;[[Anbox]]
 
: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 emulate the whole Linux kernel, this one uses the host system's Linux kernel directly.
 
: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 emulate the whole Linux kernel, this one uses the host system's Linux kernel directly.
  
Line 282: Line 298:
 
;Xamarin Android Player
 
;Xamarin Android Player
 
: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  [https://blog.xamarin.com/xamarin-for-all made available for free] after the purchase by Microsoft, but Xamarin Android Player was discontinued.
 
: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  [https://blog.xamarin.com/xamarin-for-all made available for free] after the purchase by Microsoft, but Xamarin Android Player was discontinued.
 +
 +
;VMOS
 +
:A program that runs another copy of Android on the current Android system, which would be useful for running multiple copies of the same application simutaniously, running applications that rely on older/newer versions of Android system, testing out different Android system variations, or safely executing operations/applications that's likely to do harm to current system/user data.
  
 
;Project Astoria
 
;Project Astoria
 
:A Microsoft-developed Android emulator for Windows 10 Mobile included in several insider previews. It could run [https://www.reddit.com/r/windowsphone/comments/3gaoct/android_apps_that_work_on_win10_right_now/ a few applications], though apps required Google Play Services did not run or had issues. This project was reportedly [http://www.windowscentral.com/microsofts-project-astoria-delayed discontinued] in November 2015 and [http://www.winbeta.org/news/microsoft-confirms-the-death-of-project-astoria-focusing-on-other-bridges-instead its cancellation was confirmed] on February 2016, so the emulator is not included in more recent versions of Windows 10 Mobile.
 
:A Microsoft-developed Android emulator for Windows 10 Mobile included in several insider previews. It could run [https://www.reddit.com/r/windowsphone/comments/3gaoct/android_apps_that_work_on_win10_right_now/ a few applications], though apps required Google Play Services did not run or had issues. This project was reportedly [http://www.windowscentral.com/microsofts-project-astoria-delayed discontinued] in November 2015 and [http://www.winbeta.org/news/microsoft-confirms-the-death-of-project-astoria-focusing-on-other-bridges-instead its cancellation was confirmed] on February 2016, so the emulator is not included in more recent versions of Windows 10 Mobile.
  
==General Emulation issues==
+
==Emulation issues==
===Lack of Release Notes and Update History information===
+
===Google apps===
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.
+
Android is open source, but the Google Play Store has to be licensed from Google in order to incorporate it into a build, including Play Services and many other Google apps. That often means developers pay a fee that can trickle back to the user in some form (either through adware, privacy-invading trackers, or by selling the emulator as a commercial product). Custom ROMs for real Android devices on Android 4 and earlier used to bundle the Google Play Store but this changed with newer versions. The new method is to install a custom ROM and then install "GApps" through another service like [https://opengapps.org/ the Open GApps Project].
  
===Emulator Conflict===
+
===Architectural differences===
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.
+
Many games often optimize and compile specifically for ARM processors, which prevents them from being executable on x86 CPUs, even when using a project like Android-x86. Some emulators like BlueStacks have ARM emulation by default; in others like Genymotion, it is possible to install an ARM emulator manually (though only on older versions as such functionality is broken in newer releases).
  
===Google-related Libraries===
+
===Conflict===
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.
+
Many emulators like to uninstall each other for some reason. Droid4x, Andyroid, Genymotion, and Xamarin cannot co-exist on the same machine without modifying their installers, which can be a problem if one game works on only one of these emulators but other games do not.
  
===ARM Applications===
+
===Antitamper protection===
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.
+
In order to reduce cheating, many games refuse to run if they discover that the device has been rooted. If the emulator comes rooted by default, it must be manually unrooted before the game can be played. The rooting method for modern devices is Magisk, which installs itself in the bootloader instead of the system partition, which makes it harder to detect.
  
===Games with root/Custom ROMs/Emulator Detection===
+
Some games take more aggressive measures to detect the presence of Custom ROMs (unofficial firmware) or Android emulators (like the ones listed in this page) in the variety of ways like checking for the existence or absence of system files in order to prevent the game from running in any unverified environments. These games are very difficult or plain impossible to play on emulators without resorting to cracked versions of the games.
Many commercial games refuse to run if the device is "rooted" (hacked to allow access to the 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 the 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.
+
===Android-based Operating Systems===
 +
There are many [[wikipedia:Fork_(software_development)|forks]] of Android, these go beyond a custom UI and are new OS's that use the Android code in addition to writing their own code. depending on how much (and what) new code, features and API's were added, will determine the effects they will have on Android emulation but if one is for sure, these forks are (most likely) going to cause some emulation issues.
  
 
==Emulator Specific Issues==
 
==Emulator Specific Issues==
Line 332: Line 351:
 
Pass in a kernel option to grub when booting. Select the boot entry and then press 'e' to edit it, and then 'e' to edit again. Add the kernel option here. For example, to use a video resolution of 1920x1080, add 'video=1920x1080'. Press return to save the changes (for this boot session only), and 'b' to boot (the keys to edit and boot may be different depending on your grub version, there are usually instructions on the grub screen for the requisite keys)
 
Pass in a kernel option to grub when booting. Select the boot entry and then press 'e' to edit it, and then 'e' to edit again. Add the kernel option here. For example, to use a video resolution of 1920x1080, add 'video=1920x1080'. Press return to save the changes (for this boot session only), and 'b' to boot (the keys to edit and boot may be different depending on your grub version, there are usually instructions on the grub screen for the requisite keys)
  
 +
==Android consoles==
 +
Because it's possible to fork and created you're own Android-based OS, many developers have used Android to power their own commercial console.  However, as mentioned before, just because it uses Android as a base does not mean they will all work properly on a normal Android emulator.
 +
{| class="wikitable" style="text-align:center;"
 +
! scope="col"|Name
 +
! scope="col"|[[MAME]] support
 +
! scope="col"|ROMs
 +
! scope="col"|Description
 +
|-
 +
|Amazon Fire TV
 +
|None
 +
|None
 +
|
 +
|-
 +
|Atlantis Land Kora
 +
|None
 +
|None
 +
|
 +
|-
 +
|Baidu Shadow Stick
 +
|None
 +
|None
 +
|
 +
|-
 +
|Diyomate X18
 +
|None
 +
|None
 +
|
 +
|-
 +
|flarePlay
 +
|None
 +
|None
 +
|
 +
|-
 +
|GPD Mars Gamebox
 +
|None
 +
|None
 +
|
 +
|-
 +
|[[GPD XD Devices|GPD XD / XD+]]
 +
|None
 +
|None
 +
|
 +
|-
 +
|LC Smart Pandora TV Box
 +
|None
 +
|None
 +
|
 +
|-
 +
|Lexibook LexiBox TV
 +
|None
 +
|None
 +
|
 +
|-
 +
|Lexibook Playdroid
 +
|None
 +
|None
 +
|
 +
|-
 +
|Mad Catz Mojo
 +
|None
 +
|None
 +
|
 +
|-
 +
|MeLE X8
 +
|None
 +
|None
 +
|
 +
|-
 +
|Nexus Player
 +
|None
 +
|None
 +
|
 +
|-
 +
|Nvidia Shield TV
 +
|None
 +
|None
 +
|
 +
|-
 +
|[[Ouya emulators|Ouya]]
 +
|None
 +
|[https://archive.org/details/ouyalibrary?&sort=-downloads&page=2 Yes]
 +
|A failed microconsole that started from a Kickstarter project. The controller sucks and the games can be found elsewhere. Since the Ouya runs on Android, emulation is technically possible by extracting menu/application apk files and running them in an Android emulator or VM.
 +
|-
 +
|PlayJam GameStick
 +
|None
 +
|None
 +
|
 +
|-
 +
|Razer Forge TV
 +
|None
 +
|None
 +
|
 +
|-
 +
|Skyworth miniStation
 +
|None
 +
|None
 +
|
 +
|-
 +
|Snail Games OBox
 +
|None
 +
|None
 +
|
 +
|-
 +
|Soomax Sensory
 +
(享动体感游戏机)
 +
|None
 +
|None
 +
|
 +
|-
 +
|TCL T2
 +
|None
 +
|None
 +
|
 +
|-
 +
|UIS Xtreamer Multi-Console
 +
|None
 +
|None
 +
|
 +
|-
 +
|UTStarcom DanDan (蛋蛋)
 +
|None
 +
|None
 +
|
 +
|-
 +
|ZTE FunBox
 +
|None
 +
|None
 +
|
 +
|-
 +
|}
  
 
==See also==
 
==See also==
*[[Cellphone emulators]] - info on emulators for various feature phone/non-smartphone platforms.
+
* [[Cellphone emulators]] - info on emulators for various feature phone/non-smartphone platforms.
*[https://www.luckypatchers.com/ https://www.luckypatchers.com/] - Lucky Patcher APK's latest 8.6.3 version
+
* [[Emulators on Android OS]] - Various emulators for Android platform
[[Category:Consoles]]
+
 
[[Category:Android emulators]]
+
[[Category:Mobiles]]
 +
[[Category:Android emulators|*]]
 +
 
 +
==Notes==
 +
<references group=N />

Revision as of 12:55, 18 January 2022

This page is about emulating Android on other computers, like desktops. For the inverse, see Emulators on Android.
Android
Android.png
Developer Google
Open Handset Alliance
Release date 2008
Emulated

Android is a mobile operating system developed by Google and the Open Handset Alliance. It was originally developed in secret before launching in 2008 as a competitor against Apple's iPhone. While other mobile operating systems had been made throughout the years, none have emerged in terms of market share nearly as much as Android.

Android is like a Linux distribution in that it uses the Linux kernel to facilitate communication with the hardware and manage processes on the system. Unfortunately, the similarities end there as Android uses an entirely different toolset from standard Linux distributions and no support is given for running it on PCs. (Software development on Android is also nothing like Linux development as apps are compiled into architecture-specific APKs via Java which, like IPA files on iOS, are specially designed Zip files. They may be occasionally coupled with OBB files). While Android can technically run Linux binaries, doing so requires superuser privileges that Android does not provide by default. For many devices, you can expect to see a custom ROM that has an integrated su binary (or a means to install it easily, such as a custom recovery) but not all devices have one.

However, the Linux kernel is flexible enough that it can be emulated well unlike iOS, older cell-phone models, and older Japanese Galapagos mobile phones. While Android natively supports mice[N 1], most apps expect users to have a touchscreen, so Android emulators will usually default to emulating touchscreen presses like DS emulation (though it can be less than ideal in many cases). The host's keyboard may often emulate the button controller add-ons, and some emulators support Xbox 360 controllers as well with some more tweaks.

Emulators

Important Note: These emulators are usually closed source and while they're distributed for free, their devs look for roundabout ways to monetize them. One such high profile case was BlueStacks. Make sure to check if there are pre-installed apps on your emulator (and disable them), monitor your Internet connection download caps and processor activity to detect any abnormal activity (and block domains accordingly if the need arises) and avoid as much as possible giving sensitive account data (just in case it's key-logged). Besides basic safety, these precautions often make impacted emulators run much faster when the adware services and apps are turned off. Windows subsystem for Android is an exception, as Microsoft made it and monetizing comes from the Windows copy you brought.

Name Platform(s) Version VM Accuracy FLOSS Active Recommended
PC / x86
Genymotion Windows Linux macOS 3.6.0 VirtualBox High
BlueStacks Windows macOS 5.20.100 QEMU (before v2.5) / VirtualBox (after v2.5) High
Windows Subsystem for Android Windows (11 and up, windows 10 unofficially) Comes with Windows store Hyper-V ? ~
MEmu Windows 8.0.0 VirtualBox High
LDPlayer Windows 4.0.50.3 VirtualBox High
NoxPlayer Windows 7.0.2.0 VirtualBox High
MuMu Windows macOS 1.1.0.2
1.1.0.5 (v2.3.17) (Chinese Version)
VirtualBox High
Anbox Linux git Not an emulator (wine-like approach) ~
Android x86 Windows Linux macOS 8.1-r6 VirtualBox, VMWare (for 3d acc) Mid
Android Studio Windows Linux 4.0 QEMU Low ~
Andy OS Windows macOS 0.47.226.1096.26 VmWare High
AMI DuOS Windows 2.0.8.8511 VirtualBox Mid
ARC Welder
(Google Chrome)
Windows Linux macOS Web ARC 50.5021.602.0 Original Mid
ARChon
(Google Chrome)
Windows Linux macOS Web ARC 41.4410.238.0 Original Mid ~
Droid4X Windows macOS 0.10.7 VirtualBox High
KoPlayer Windows 2.0.0 VirtualBox High
LeapDroid Windows 1.8.0 VirtualBox High
Peak App Player Windows 1.2.5 Beta 2 VirtualBox High
Shashlik Linux 0.9.3 Original Low
SmartGaGa Windows 1.1.646 VirtualBox High
Windroy Windows 4.0.3 Original Low
Windroye Windows 2.9.1 VirtualBox Mid
Xamarin Android Player Windows macOS 0.6.5 VirtualBox Mid
XePlayer Windows 6.0.10 VirtualBox High
YouWave Windows 5.11 VirtualBox Mid
Mobile / ARM
LineageOS Linux ARM 18.1 (Raspberry Pi 3/4) Not an emulator (actual AOSP) High
Anbox Linux ARM git Not an emulator (wine-like approach) ~
VMOS Android website ? Mid
Project Astoria Windows 10 Phone Discontinued ($) Original Low
Consoles
LineageOS Switch 15.1 based of the Nvidia Shield TV build of LineageOS ~

The VM column describes what backend technology the emulator uses. Emulators labeled with "VirtualBox" sometimes needs the user to install Oracle VM VirtualBox. Usually, it is installed automatically.

Comparisons

Genymotion
A closed-source Android emulator with hardware-accelerated 3D graphics and USB host support, available for Windows, macOS, 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 to 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.

Note as of November 25th, 2019: The above paragraph is outdated and ARM Emulation has been broken in Genymotion for a while, so you can't use ARM apps unless you get a really old version.

BlueStacks
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 .apk files.
MEmu
A free Android emulator with very good accuracy, sometimes outperforming BlueStacks.
LDPlayer
An Android emulator also with good accuracy. When testing games along side Nox, LDPlayer shows to have better performance/compatibility with games.
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) that seed Chinese torrents constantly and they are a pain to uninstall or deactivate (in case you've already fallen for it, use Revo Uninstaller).

Andy OS
Not recommended because it will install a cryptocurrency miner on your system without asking or informing about this to the user. Just like Genymotion, Andy OS uses 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 isn'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 embedded in 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. The official site is down since July 2016, so any updates are unlikely.
Windroye
(With the 'e' suffix) uses VirtualBox, but still offers better performance than BlueStacks. The Play Store is installed by default and has no stability issues found in Windroy. A related Reddit topic can be found here.
Android x86
An open-source project that aims to port the Android operating system to x86-based netbooks. Comes with Google Play and libhoudini (x86/ARM translation layer) installed. 3D acceleration works well both when installed directly on the machine as a local OS and also on VMware. VMware Player 15 supports emulating OpenGL ES 3 on the target and performance is quite good. VirtualBox 3d support is poor and probably won't work. Android x86 is continually being improved and can be tried fairly painlessly through VMware. Genymotion is (or at least used to be) a closed-source fork of Android x86, designed exclusively to be run on VirtualBox.
Anbox
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 emulate the whole Linux kernel, this one uses the host system's Linux kernel directly.
Shashlik
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
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.
VMOS
A program that runs another copy of Android on the current Android system, which would be useful for running multiple copies of the same application simutaniously, running applications that rely on older/newer versions of Android system, testing out different Android system variations, or safely executing operations/applications that's likely to do harm to current system/user data.
Project Astoria
A Microsoft-developed Android emulator for Windows 10 Mobile included in several insider previews. It could run a few applications, 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.

Emulation issues

Google apps

Android is open source, but the Google Play Store has to be licensed from Google in order to incorporate it into a build, including Play Services and many other Google apps. That often means developers pay a fee that can trickle back to the user in some form (either through adware, privacy-invading trackers, or by selling the emulator as a commercial product). Custom ROMs for real Android devices on Android 4 and earlier used to bundle the Google Play Store but this changed with newer versions. The new method is to install a custom ROM and then install "GApps" through another service like the Open GApps Project.

Architectural differences

Many games often optimize and compile specifically for ARM processors, which prevents them from being executable on x86 CPUs, even when using a project like Android-x86. Some emulators like BlueStacks have ARM emulation by default; in others like Genymotion, it is possible to install an ARM emulator manually (though only on older versions as such functionality is broken in newer releases).

Conflict

Many emulators like to uninstall each other for some reason. Droid4x, Andyroid, Genymotion, and Xamarin cannot co-exist on the same machine without modifying their installers, which can be a problem if one game works on only one of these emulators but other games do not.

Antitamper protection

In order to reduce cheating, many games refuse to run if they discover that the device has been rooted. If the emulator comes rooted by default, it must be manually unrooted before the game can be played. The rooting method for modern devices is Magisk, which installs itself in the bootloader instead of the system partition, which makes it harder to detect.

Some games take more aggressive measures to detect the presence of Custom ROMs (unofficial firmware) or Android emulators (like the ones listed in this page) in the variety of ways like checking for the existence or absence of system files in order to prevent the game from running in any unverified environments. These games are very difficult or plain impossible to play on emulators without resorting to cracked versions of the games.

Android-based Operating Systems

There are many forks of Android, these go beyond a custom UI and are new OS's that use the Android code in addition to writing their own code. depending on how much (and what) new code, features and API's were added, will determine the effects they will have on Android emulation but if one is for sure, these forks are (most likely) going to cause some emulation issues.

Emulator Specific Issues

BlueStacks

  • 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".

Andyroid

  • 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.

Android-x86

  • 3D Support is broken on VMWare when using newer kernels:

Kernels > 4.14 with version 8.1 break 3d acceleration in VMWare (see https://groups.google.com/forum/#!searchin/android-x86/4.9%7Csort:date/android-x86/wB65vJnuJiI/ytJaWYWUBwAJ). Use kernel 4.9 with 8.1 instead.

  • Setting resolution in VMWare

Pass in a kernel option to grub when booting. Select the boot entry and then press 'e' to edit it, and then 'e' to edit again. Add the kernel option here. For example, to use a video resolution of 1920x1080, add 'video=1920x1080'. Press return to save the changes (for this boot session only), and 'b' to boot (the keys to edit and boot may be different depending on your grub version, there are usually instructions on the grub screen for the requisite keys)

Android consoles

Because it's possible to fork and created you're own Android-based OS, many developers have used Android to power their own commercial console. However, as mentioned before, just because it uses Android as a base does not mean they will all work properly on a normal Android emulator.

Name MAME support ROMs Description
Amazon Fire TV None None
Atlantis Land Kora None None
Baidu Shadow Stick None None
Diyomate X18 None None
flarePlay None None
GPD Mars Gamebox None None
GPD XD / XD+ None None
LC Smart Pandora TV Box None None
Lexibook LexiBox TV None None
Lexibook Playdroid None None
Mad Catz Mojo None None
MeLE X8 None None
Nexus Player None None
Nvidia Shield TV None None
Ouya None Yes A failed microconsole that started from a Kickstarter project. The controller sucks and the games can be found elsewhere. Since the Ouya runs on Android, emulation is technically possible by extracting menu/application apk files and running them in an Android emulator or VM.
PlayJam GameStick None None
Razer Forge TV None None
Skyworth miniStation None None
Snail Games OBox None None
Soomax Sensory

(享动体感游戏机)

None None
TCL T2 None None
UIS Xtreamer Multi-Console None None
UTStarcom DanDan (蛋蛋) None None
ZTE FunBox None None

See also

Notes

  1. If you have an Android device you can confirm this by connecting a Bluetooth mouse or a USB mouse via a USB On-the-Go adapter.