Difference between revisions of "Android emulators"

From Emulation General Wiki
Jump to navigation Jump to search
(Created page with "'''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 certain...")
 
m
 
(589 intermediate revisions by 85 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 [[Emulators on Android|this page]] instead.'''
+
{{Infobox console
 +
|title = Android
 +
|logo = Android.png
 +
|developer = Google<br/> Open Handset Alliance
 +
|release = 2008
 +
|emulated = {{✓}}
 +
}}
 +
:''This page is about software that emulates Android on other hardware, like desktops.''{{for|emulators that run on Android|Emulators on Android}}
  
'''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.
+
'''[[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 have been made throughout the years, none have emerged in terms of market share nearly as much as Android.
  
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 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 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 or USB mouse via a USB 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 with some more tweaks.
 +
 
 +
<references group=N/>
  
 
==Emulators==
 
==Emulators==
{| class="wikitable"
+
;Before diving in,
|+PC
+
;*To run Android apps on your computer, most of these emulators employ a two-step approach. First, they set up a virtual environment using [[Hypervisors|hypervisor]] (and of course support for [[Wikipedia:X86_virtualization#Hardware-assisted_virtualization|hardware assisting virtualization]] such as vt-x/amd-v and virtual gpu adapter such as [https://docs.mesa3d.org/drivers/virgl.html VirGL]). Then, they use [[Recommended_linux_distros#Emulation_focused|custom Android-x86 images]] and translation layer such as "[[Compatibility_layer|libhoudini or libndk or Intel BT]]" to convert instructions from ARM processors (used in phones) to work on your computer's x86 architecture. See [[#Hardware features]] supported ABI, API sections and [[#Enhancements]] built-in translation layer and VM columns for more information.
 +
;*[[Hypervisors|Hardware-assisted virtualization]] feature must be turned from your BIOS for most of these methods due to performance reasons.
 +
;*You need to turn off Hyper-V from Windows Feature panel if [[Hypervisors|Type-2 hypervisor]] used by the emulator due to [[Hypervisors#Hyper-V_feature_conflict_issue|conflict issue]]. Having said that some emulators like BlueStacks provide special Hyper-V build for prevent this issue. Recently, with [https://support.bluestacks.com/hc/en-us/articles/22561951043981-BlueStacks-5-20-Release-Notes#01HMGBJDK8G7J7S9C0G5R9SBVR BlueStacks 5 version 5.20, you can now run BlueStacks with Hyper-V enabled] including all instances such as Nougat 32-bit, which will run as intended and no additional changes required.
 +
;*There are also [[compatibility layers]] such as Waydroid and [[Anbox]] for running android applications on ARM and x86 devices but these projects kinda negligible due to their compatibility levels.
 +
;*Tons of bloated, obsolete or non-active Android "emulator" exists there but we're not gonna list them, see [https://emulation.gametechwiki.com/index.php?title=Android_emulators&diff=66635&oldid=66634#Emulators this page] for that.
 +
<div style="overflow-x:auto;width:100%">
 +
{| class="wikitable" style="text-align:center;width:100%"
 
|-
 
|-
 
! scope="col"|Name
 
! scope="col"|Name
! scope="col"|OS
+
! scope="col"|Platform(s)
 
! scope="col"|Version
 
! scope="col"|Version
! scope="col"|Free
+
! scope="col"|[[#Hardware_features|Hardware features]]
! scope="col"|USB Link
+
! scope="col"|[[#Enhancements|Enhancements]]
! scope="col"|[[Accuracy]]
+
! scope="col"|Compatibility
 +
! 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]]
 
|-
 
|-
|style="text-align:center;"|[[Genymotion]]
+
! colspan="10"|PC / x86
|style="text-align:center;"|Windows, Mac, Linux
+
|-
|style="text-align:center;"|[http://www.genymotion.com 2.4.0] (Official Site)
+
|[[Genymotion]]
|style="text-align:center;"|(Non-Dev Versions)
+
|align=left|{{Icon|Windows|Linux|macOS}}
|style="text-align:center;"|✓
+
|[https://www.genymotion.com/download/ {{GenymotionVer}}]
|style="text-align:center;"|High
+
|{{~}}
|style="text-align:center;"|✓✓
+
|{{~}}
 +
|?
 +
|{{✗}} ||{{✓}} ||{{~}}
 +
|-
 +
|[https://play.google.com/googleplaygames Google Play Games]
 +
|align=left|{{Icon|Windows}}
 +
|[https://play.google.com/googleplaygames#section-system-requirements Beta]<br/>[https://developer.android.com/games/playgames/emulator Developer]
 +
|{{~}}
 +
|{{~}}
 +
|<small>[https://play.google.com/googleplaygames/exploregames Only for selected titles] (Beta build)<br/>? (Developer build)</small>
 +
|{{✗}} ||{{✓}} ||{{~}}
 +
|-
 +
|[https://learn.microsoft.com/en-us/windows/android/wsa/release-notes WSA]<br/><small>This shouldn't be confused with WSL or WSL2.<br/>See [[Hypervisor]] page for WSL2 and [[Compatibility layer]] page for WSL.</small>
 +
|align=left|{{Icon|Windows}}
 +
|Comes with Windows store<br/>[https://github.com/cinit/WSAPatch WSA patch for Windows 10]
 +
|{{~}}
 +
|{{~}}
 +
||[https://github.com/riverar/wsa-app-compatibility#support-tables 66%<br/><small>368 out of 558 reported titles</small>]
 +
|?
 +
|{{~}}[https://learn.microsoft.com/en-us/windows/android/wsa/ *] ||{{~}}
 +
|-
 +
|[https://trinityemulator.github.io/ Trinity]
 +
|align=left|{{Icon|Windows}}
 +
|[https://github.com/TrinityEmulator/TrinityEmulator/releases git]
 +
|{{~}}
 +
|{{~}}
 +
|?
 +
|{{✓}} ||{{~}} ||{{~}}
 +
|-
 +
|Android Studio<br/><small>It's an IDE and it includes [https://developer.android.com/studio/intro/update#sdk-manager built-in Android Emulator]</small>
 +
|align=left|{{Icon|Windows|Linux}}
 +
|[https://developer.android.com/studio/archive Beta and Canary builds]<br/>[https://developer.android.com/studio/ 4.0]
 +
|{{✓}}
 +
|{{~}}
 +
|?
 +
|<span title="Source-available"><sup>{{~}}</sup></span> ||{{✓}} ||{{~}}
 +
|-
 +
|[[BlueStacks]]
 +
|align=left|{{Icon|Windows|macOS}}
 +
|[https://support.bluestacks.com/hc/en-us/sections/360012290292-Release-Notes {{BlueStacksVer}}]
 +
|{{~}}
 +
|{{~}}
 +
|[https://support.bluestacks.com/hc/en-us/articles/4413818315789-Games-playable-on-different-Android-versions-on-BlueStacks-5 ?]
 +
|{{✗}} ||{{✓}} ||{{✗}}<ref group=N2 name=Bloatware>These emulators are closed-source, and while they're distributed for free, their devs look for roundabout ways to monetize them. '''Since these emulators closed-source and comes with adware and bloatware applications, it's important to research the developers background before using them to ensure their trustworthiness and avoid potential privacy risks before using them'''. MuMu, LDPlayer, NoxPlayer and MEmu developed by the various Chinese software companies and BlueStacks App Player developed by American technology company called "[https://www.wikidata.org/wiki/Q4928776 BlueStacks]". Despite data security regulations existing in various regions (e.g., [[Wikipedia:General_Data_Protection_Regulation|GDPR]] in the "EU", [[Wikipedia:California_Consumer_Privacy_Act|CCPA]] in "California", and [[Wikipedia:Cybersecurity_Law_of_the_People's_Republic_of_China|Cybersecurity Law]] in "PRC"), concerns regarding government surveillance in certain countries like the "PRC" remain significant. Therefore, we recommend exercising caution when relying on closed-source software developed within such jurisdictions. Make sure to check if there are pre-installed '''extra''' apps comes with these emulators and disable or uninstall them (e.g. BlueStacks X, BlueStacks Services etc.), monitor your internet traffic and processor activity to detect any abnormal activity and block domains accordingly if the need arises or use tools like 'simplewall'. Also avoid giving sensitive account data as much as is possible due to potential security reasons. Besides basic safety, these precautions often make impacted emulators run faster and more responsive when the adware services and apps are turned off.</ref>
 +
|-
 +
|MuMu
 +
|align=left|{{Icon|Windows|macOS}}
 +
|[https://mumu.163.com/global/download/en/index.html 1.1.0.2]<br /><small>[https://mumu.163.com 1.1.0.5 (v2.3.17) (Chinese Ver)]</small>
 +
|?
 +
|?
 +
|?
 +
|{{✗}} ||{{✓}} ||{{✗}}<ref group=N2 name=Bloatware></ref>
 +
|-
 +
|LDPlayer
 +
|align=left|{{Icon|Windows}}
 +
|[https://en.ldplayer.net/ 4.0.50.3]
 +
|?
 +
|?
 +
|?
 +
|{{✗}} ||{{✓}} ||{{✗}}<ref group=N2 name=Bloatware></ref>
 +
|-
 +
|NoxPlayer
 +
|align=left|{{Icon|Windows}}
 +
|[https://www.bignox.com 7.0.2.7]
 +
|?
 +
|?
 +
|?
 +
|{{✗}} ||{{✓}} ||{{✗}}<ref group=N2 name=Bloatware></ref>
 +
|-
 +
|MEmu
 +
|align=left|{{Icon|Windows}}
 +
|[https://www.memuplay.com/ {{MEmuVer}}]
 +
|?
 +
|?
 +
|?
 +
|{{✗}} ||{{✓}} ||{{✗}}<ref group=N2 name=Bloatware></ref>
 +
|}
 +
</div>
 +
<references group=N2 />
 +
 
 +
===Comparisons===
 +
;Genymotion
 +
:A closed-source Android emulator with lots of [[#Hardware_features|hardware features]], available for Windows, macOS, and Linux. It's not designed for gaming, but [https://support.genymotion.com/hc/en-us/articles/360003059737-Can-I-play-games-with-Genymotion it has decent software compatibility]. It's a commercial product though, aimed at software developers and QA teams and you'll need to create an account and download the free non-commercial use license. Except for the pay-to-remove "free for personal use" watermark on the screen, paid builds add features only useful for Android app developers. Unlike other closed-source emulators, Genymotion avoids pre-installing unnecessary apps.
 +
 
 +
;Google Play Games
 +
:Not to be confused with the [[Preservation_projects#Private_Platform_Servers|service of the same name]], Google Play Games is a PC application that lets you browse, download, and play '''select mobile games''' on a Windows desktop or laptop. Use developer build if you want more [[#Hardware_features|hardware feature]] support. Google Play Games is not yet available for Mac. Currently, only bunch of games are available for beta version but Google adding games on a regular basis.<ref>[https://play.google.com/googleplaygames#section-faqs Google Play Games FAQ]</ref>
 +
[[File:Android Studio built-in emulator device skin demonstration.jpeg|thumb|298px|Android Studio built-in emulator device skin demonstration, see [[#Enhancements]]]]
 +
 
 +
;Trinity
 +
:Open source Android emulator, it aims for high [https://youtu.be/tfq4MsxaHZw?t=855 performance] and it's even faster than Google Play Games emulator. See [https://github.com/TrinityEmulator/TrinityEmulator#2-detailed-instructions Guest OS image installation guide] for installation. Also see [https://www.youtube.com/watch?v=tfq4MsxaHZw OSDI '22 - Trinity: High-Performance Mobile Emulation through Graphics Projection] presentation for more information.
 +
 
 +
;Android Studio
 +
:Android Studio is an IDE software based on JetBrains' IntelliJ IDEA. It has built-in Android emulator with [https://developer.android.com/studio/run/managing-avds AVD (Android Virtual Device) configuration manager]. While its built-in emulator (which is literally called as [https://developer.android.com/studio/run/emulator "Android Emulator"]) may not be the fastest or software compatible (supports lots of OS image though), Android Studio shines as a developer's toolkit, offering seamless integration with coding, debugging, and testing tools for Android smartphones, [[Smart_TV_emulators#Android_TV.2FGoogle_TV|Android TVs]], [https://developer.android.com/wear Wear OS] and other Android ecosystem hardware. [https://www.youtube.com/watch?v=K1TTzkToDyE Recent updates brings new UI] aims to reduce complexity, provide easier access to essential features etc. It has built-in plugin manager which you can get Genymotion plugin for further enhance its emulation capabilities. Also you can use [https://developer.android.com/games/playgames/pg-emulator#debug adb to debugging with developer version of "Google Play Games" emulator]. Supports lots of [[#Hardware features]] and [[#Enhancements]]. See release notes for [https://developer.android.com/studio/releases/emulator built-in "Android Emulator"] and [https://androidstudio.googleblog.com/ Android Studio] for more information.
 +
 
 +
;BlueStacks
 +
:A commercial software with a decent compatibility and performance. It has lots of [[#Enhancements|enhancement]] and [[#Hardware_features|hardware feature]] support. Newer versions bundled with "BlueStacks X" software and "BlueStacks services" which you can uninstall it afterwards, and you need to uninstall these during each update session unfortunately (BlueStacks Player do not need these apps). It includes Google Apps by default.
 +
 
 +
;MuMu Player
 +
:Another closed-source Android emulator. There are three versions of MuMu available
 +
:;MuMu Player 6
 +
::This version of MuMu uses Android 6.0 Marshmallow
 +
:;MuMu Player X
 +
::This one is based on Android 12 Snow Cone and may have more compatibility with games
 +
:;MuMu Nebula
 +
::This version runs Android 7.0 Nougat and is more suitable for low-end computers
 +
 
 +
;MEmu
 +
:Another closed-source Android emulator and also with good compatibility.
 +
 
 +
;LDPlayer
 +
:Another closed-source Android emulator and also with good compatibility. When testing games alongside Nox, LDPlayer shows better performance/compatibility with games.
 +
 
 +
==Hardware features==
 +
''These are Android operating system features. This list only includes hardware features that can be possible to emulated through software or will be possible in the near future. Including everything would result in an endless list.''
 +
<div style="overflow-x:auto;width:100%">
 +
{|class="wikitable" style="text-align:center; vertical-align:middle;width:100%"
 +
|- style="font-weight:bold;"
 +
! colspan=2 | Name
 +
! Genymotion[https://docs.genymotion.com/desktop/04_Emulating_sensors_and_features/]
 +
! Bluestacks
 +
! Google Play Games
 +
! Trinity
 +
! WSA
 +
! Android Studio
 +
! [[Recommended_linux_distros#Emulation_focused|BlissOS]]
 +
! [[Recommended_linux_distros#Emulation_focused|Android-x86]]
 +
|-
 +
| colspan=2 | [[Wikipedia:Android_(operating_system)#Home_screen|Home screen]]<br/><small>This shouldn't be confused with emulator frontend/GUI.</small>
 +
| {{✓}}
 +
| {{✗}}
 +
| {{?}}<ref group=N4>[https://developer.android.com/games/playgames/pg-emulator#navigation Exclusive to developer builds] and [https://old.reddit.com/r/GalaxyTab/comments/mt5ekb/in_android_12_google_is_all_about_tablets_again/ it's looking similar to Android 12 tablet home menu launcher] ([https://youtu.be/2KEaPQpfzkQ?t=408 Demonstration]). It's unclear whether this app directly emulates the native home screen or provides an alternative UI/UX with limited features.</ref>
 +
| {{✓}}
 +
| {{✗}}
 +
| {{✓}}
 +
| {{✓}}
 +
| {{✓}}
 +
|-
 +
| colspan=2 | [https://developer.android.com/develop/ui/views/touch-and-input/game-controllers Game controllers]
 +
| {{✓}}
 +
| {{✓}}[https://support.bluestacks.com/hc/en-us/articles/4405061625485 *]
 +
| {{✓}}[https://blog.google/products/google-play/google-play-games-beta-october-2023-update/ *]
 +
| {{N}}[https://github.com/TrinityEmulator/TrinityEmulator/issues/3 *]
 +
| {{✓}}[https://learn.microsoft.com/en-us/windows/android/wsa/release-notes#build-22084000040 *]
 +
| {{?}}
 +
| {{✓}}[https://tested.blissos.org/hardware/inputs/gamepad/ *]
 +
| {{?}}
 +
|-
 +
| colspan=2 | [https://developer.android.com/develop/ui/views/touch-and-input/keyboard-input Keyboard input]
 +
| {{?}}
 +
| {{✓}}
 +
| {{✓}}[https://youtu.be/2KEaPQpfzkQ?t=153 *]
 +
| {{✓}}
 +
| {{?}}
 +
| {{✓}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| colspan=2 | [https://developer.android.com/games/playgames/input-mouse Mouse input]
 +
| {{✓}}
 +
| {{✓}}
 +
| {{✓}}[https://youtu.be/2KEaPQpfzkQ?t=153 *]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| colspan=2 | [https://developer.android.com/jetpack/compose/touch-input/pointer-input/multi-touch Multi-touch]
 +
| {{✓}}[https://docs.genymotion.com/desktop/03_Virtual_devices/#touchscreen]
 +
| {{✓}}[https://www.bluestacks.com/multi-touch.html][https://www.bluestacks.com/blog/bluestacks-exclusives/bluestacks-multi-touch-support-en.html]
 +
| {{?}}[https://support.google.com/googleplay/thread/249633800/lack-of-multi-touch-support-on-play-games-beta?hl=en]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| colspan=2 | [https://developer.android.com/media/camera/camerax Camera]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{Y}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| colspan=2 | [https://developer.android.com/develop/connectivity/usb USB and USB passthrough]
 +
| {{✓}}
 +
| {{N}}[https://old.reddit.com/r/BlueStacks/comments/z54s8p/usb_devices_in_bluestacks/iy2gtgb/ *]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{Y}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| colspan=2 | [https://developer.android.com/develop/ui/views/notifications Notifications]
 +
| {{✓}}
 +
| {{✓}}
 +
| {{~}}[https://developer.android.com/games/playgames/faq#q_can_we_use_push_notifications_for_google_play_games *]
 +
| {{✓}}
 +
| {{✓}}[https://learn.microsoft.com/en-us/windows/android/wsa/release-notes#build-220440000190 *]
 +
| {{✓}}
 +
| {{✓}}
 +
| {{✓}}
 +
|-
 +
| colspan=2 | [https://developer.android.com/studio/run/emulator-install-add-files Sideloading/Installing]
 +
| {{?}}
 +
| {{✓}}<ref group=N4>If you're using latest version of BlueStacks you'll need to install a file manager to copy game cache when loading your own .apk files, or simply use .xapk containers.</ref>
 +
| {{~}}<ref group=N4>Exclusive to developer builds, [https://youtu.be/2KEaPQpfzkQ?t=280 Demonstration]. For using sideloading in the developer builds you need to use adb install "AppName.apk" command in the Command Prompt.</ref>
 +
| {{✓}}<ref group=N4>[https://github.com/TrinityEmulator/TrinityEmulator/wiki/Advanced-Usages#adb-connection Use adb to connect] then use adb install command.</ref>
 +
| {{~}}[https://github.com/Simizfo/WSATools#requisites *]
 +
| {{✓}}
 +
| {{✓}}
 +
| {{✓}}
 +
|-
 +
| colspan=2 | [https://developer.android.com/develop/connectivity/wifi/wifi-scan Wi-Fi]
 +
| {{✓}}
 +
| {{✓}}
 +
| {{✓}}
 +
| {{✓}}
 +
| {{✓}}
 +
| {{✓}}[https://developer.android.com/studio/run/emulator-wifi *]
 +
| {{✓}}
 +
| {{✓}}
 +
|-
 +
| colspan=2 | [https://developer.android.com/reference/android/location/Location Location]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{✓}}[https://developer.android.com/studio/run/emulator-extended-controls *]
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| colspan=2 | [https://developer.android.com/develop/connectivity/bluetooth Bluetooth]
 +
| {{?}}
 +
| {{N}}[https://support.bluestacks.com/hc/en-us/articles/360061235612-Bluetooth-support-on-BlueStacks-5 *]
 +
| {{?}}
 +
| {{?}}
 +
| {{N}}[https://xdaforums.com/t/looking-wsa-for-windows-11-where-bluetooth-also-works.4610551/post-88829045 *]
 +
| {{Y}}[https://stackoverflow.com/questions/22604305/how-to-use-android-emulator-for-testing-bluetooth-application *]
 +
| {{✓}}[https://tested.blissos.org/hardware/connectivity/bluetooth/ *]
 +
| {{?}}
 +
|-
 +
| colspan=2 | [https://developer.android.com/develop/sensors-and-location/sensors/sensors_motion Motion sensors]
 +
| {{?}}
 +
| {{Y}}[https://support.bluestacks.com/hc/en-us/articles/360058638032-Advanced-settings-for-key-controls-in-BlueStacks-5-#%E2%80%9C9%E2%80%9D *]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{Y}}[https://developer.android.com/studio/run/emulator-extended-controls *]
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| rowspan=2 | Connectivity
 +
| [[Preservation_projects#Private_Platform_Servers|Google Play Games]]<br/>[[Preservation_projects#Private_Platform_Servers|Google Play Services]]<br/><small>Achievements, Challenges, Leaderboards etc.</small>
 +
| {{?}}
 +
| {{Y}}[https://support.bluestacks.com/hc/en-us/articles/360059697231-How-to-log-in-to-Google-Play-Store-on-BlueStacks-5 *]
 +
| {{Y}}
 +
| {{?}}
 +
| {{?}}
 +
| {{✓}}
 +
| {{?}}
 +
| {{?}}[https://groups.google.com/g/android-x86/c/BGVX_bwpibA *]
 +
|-
 +
| [[Wikipedia:Google_Cloud_Messaging|Google Cloud Messaging (GCM)]]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
! colspan=9 | [[Wikipedia:Android_version_history|OS version]]
 +
|-
 +
| colspan=2 | [[Wikipedia:Android_version_history#Android_4.4_KitKat|KitKat]] (API 19)<br/><small>Supporting [[Wikipedia:Android_version_history#Android_4.4_KitKat|Android 4.4 (KitKat)]] is crucial for emulators due to compatibility and [[Preservation_projects|preservation]] reasons.<br/> Older applications and games often rely on the "[[Wikipedia:Dalvik_(software)|Dalvik]]", which isn't present in newer versions and there could be '''[https://web.archive.org/web/20141215220606/http://www.androidruntime.com:80/list compatibility issues]'''.<br/>Android 5.0 (Lollipop)(API 21) introduced the "[[Wikipedia:Android_Runtime|Android RunTime]]" (ART), [[Wikipedia:Android_Runtime#History|replacing "Dalvik" entirely]].<br/>Having said that ART is mostly backwards compatible with Dalvik. See these sources for more information: [https://xdaforums.com/t/explained-art-runtime-in-android-4-4-kitkat.2622098/ 1], [https://www.geeksforgeeks.org/difference-between-dalvik-and-art-in-android/ 2], [https://developer.android.com/guide/practices/verifying-apps-art 3].</small>
 +
| {{N}}<ref group=N4 name=GenymotionOSsupport>[https://support.genymotion.com/hc/en-us/articles/9511224511901-Which-Android-versions-are-available Genymotion: Which Android versions are available?], Since September 2022, Genymotion no longer provide Android 4.4 and below images, see[https://support.genymotion.com/hc/en-us/articles/360002708018-I-can-t-find-Android-4-4-and-below this page].</ref>
 +
| {{N}}<ref group=N4>You need to use [[Wikipedia:BlueStacks#BlueStacks_3|BlueStacks 3 version]] (not 3N), because it is the latest version supports KitKat.</ref>
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{Y}}
 +
| {{N}}<ref group=N4 name=BlissOSsupport>[https://blissos.org/index.html#download BlissOS OS support].</ref>
 +
| {{Y}}<ref group=N4 name=Androidx86OSsupport>KitKat and Nougat supported with [https://sourceforge.net/projects/android-x86/files/ Android-x86].</ref>
 +
|-
 +
| colspan=2 | [[Wikipedia:Android_version_history#Android_7.1_Nougat|7.1 Nougat]] (API 25)<br/><small>New JIT Compiler, making for 75 percent faster app installations and a 50 percent reduction in compiled code size.<br/>JIT compiler with code profiling to ART, which lets it constantly improve the performance of Android apps as they run.<br/>Vulkan 3D rendering API support.</small>
 +
| {{Y}}<ref group=N4 name=GenymotionOSsupport></ref>
 +
| {{Y}}<ref group=N4 name=BluestacksOSsupport>[https://support.bluestacks.com/hc/en-us/articles/360058931031-How-to-utilize-the-different-Android-versions-available-on-BlueStacks-5#%E2%80%9C1%E2%80%9D Which Android versions are available on BlueStacks?].</ref>
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{Y}}
 +
| {{N}}<ref group=N4 name=BlissOSsupport></ref>
 +
| {{Y}}<ref group=N4 name=Androidx86OSsupport></ref>
 +
|-
 +
| colspan=2 | [[Wikipedia:Android_version_history#Android_12|Snow Cone]] (API 31)<br/><small>Android Runtime (ART) module added to the updatable core OS components via Google Play, added functionality to existing modules.</small>
 +
| {{Y}}<ref group=N4 name=GenymotionOSsupport></ref>
 +
| {{N}}<ref group=N4 name=BluestacksOSsupport></ref>
 +
| {{Y}}
 +
| {{N}}<abbr title="It uses android-x86 9.0 64bit">*</abbr>
 +
| {{N}}
 +
| {{Y}}
 +
| {{Y}}<ref group=N4 name=BlissOSsupport></ref>
 +
| {{N}}<ref group=N4 name=Androidx86OSsupport></ref>
 +
|-
 +
! colspan=10 | [https://developer.android.com/ndk/guides/abis Supported ABIs]
 +
|-
 +
| colspan=2 | [https://web.archive.org/web/20180507120451/https://developer.android.com/ndk/guides/abis#sa armeabi]
 +
| colspan=8 | armeabi and MIPS support deprecated in [[Compatibility layer|libndk translation layer]] version r16 and [https://android.googlesource.com/platform/ndk/+/master/docs/Roadmap.md#ndk-r17 removed in r17].<br/>But [[Compatibility layer|libhoudini translation layer]] still supports it?
 +
|-
 +
| colspan=2 | [https://developer.android.com/ndk/guides/abis#v7a armeabi-v7a]<br/><small>Supporting armeabi-v7a ABI is crucial for emulators due to compatibility and [[Preservation_projects|preservation]] reasons.<br/> Older applications and games often rely on the [[Wikipedia:ARM_architecture_family|ARM 32-bit (Cortex)]] architecture, which isn't used in newer hardware.</small>
 +
|?
 +
|{{Y}}<ref group=N4 name=BlueStacksABI>[https://support.bluestacks.com/hc/en-us/articles/360058929011-What-is-Application-Binary-Interface-ABI-in-BlueStacks-5 What is Application Binary Interface (ABI) in BlueStacks 5 ]</ref>
 +
|?
 +
|?
 +
|?
 +
|{{Y}}
 +
|?
 +
|?
 +
|-
 +
| colspan=2 | [https://developer.android.com/ndk/guides/abis#arm64-v8a arm64-v8a]
 +
|?
 +
|{{Y}}<ref group=N4 name=BlueStacksABI></ref>
 +
|{{Y}}<ref group=N4 name=GooglePlayGamesABI>[https://developer.android.com/games/playgames/start#playbility-architecture Google Play Games ABI Architecture support].</ref>
 +
|?
 +
|?
 +
|{{Y}}
 +
|?
 +
|?
 +
|-
 +
| colspan=2 | [https://developer.android.com/ndk/guides/abis#x86 x86]
 +
|?
 +
|{{Y}}<ref group=N4 name=BlueStacksABI></ref>
 +
|{{Y}}<ref group=N4 name=GooglePlayGamesABI></ref>
 +
|?
 +
|?
 +
|{{Y}}
 +
|?
 +
|?
 +
|-
 +
| colspan=2 | [https://developer.android.com/ndk/guides/abis#86-64 x86_64]
 +
|?
 +
|{{Y}}<ref group=N4 name=BlueStacksABI></ref>
 +
|{{Y}}<ref group=N4 name=GooglePlayGamesABI></ref>
 +
|{{Y}}
 +
|?
 +
|{{Y}}[https://developer.android.com/games/optimize/64-bit#64-bit-emulator *]
 +
|?
 +
|?
 +
|-
 +
! colspan=10 | [https://developer.android.com/develop/ui/views/graphics/opengl/about-opengl Supported APIs]
 +
|-
 +
| colspan=2 | [https://registry.khronos.org/OpenGL/index_es.php#specs11 OpenGL ES 1.x]<br/><small>Supporting OpenGL ES 1.x is crucial for emulators due to compatibility and [[Preservation_projects|preservation]] reasons.</small>
 +
|?
 +
|?
 +
|?
 +
|?
 +
|?
 +
|{{Y}}
 +
|?
 +
|?
 +
|-
 +
| colspan=2 | [https://registry.khronos.org/OpenGL/index_es.php#specs31 OpenGL ES 3.x]<br/><small>The OpenGL ES 3.x APIs is backwards-compatible with the 2.x APIs which is crucial for emulators due to compatibility and [[Preservation_projects|preservation]] reasons.</small>
 +
|?
 +
|?
 +
|?
 +
|{{Y}}[https://youtu.be/tfq4MsxaHZw?t=923 *]
 +
|?
 +
|{{Y}}
 +
|?
 +
|?
 +
|-
 +
| colspan=2 | [https://registry.khronos.org/vulkan/#apispecs Vulkan 1.3]<br/><small>See [https://developer.android.com/ndk/guides/graphics/android-baseline-profile Android Baseline 2022 profile] and also see [https://source.android.com/docs/core/graphics/implement-vulkan#versions Vulkan API versions for several Android releases].<br/>Vulkan releases are backward compatible with each other.
 +
|?
 +
|?
 +
|?
 +
|?
 +
|?
 +
|?
 +
|?
 +
|?
 +
|}
 +
</div>
 +
<references group=N4/>
 +
 
 +
==Enhancements==
 +
<div style="overflow-x:auto;width:100%">
 +
{|class="wikitable" style="text-align:center; vertical-align:middle;width:100%"
 +
|- style="font-weight:bold;"
 +
! colspan=2 | Name
 +
! Genymotion
 +
! Bluestacks
 +
! Google Play Games
 +
! Trinity
 +
! WSA
 +
! Android Studio
 +
! [[Recommended_linux_distros#Emulation_focused|BlissOS]]
 +
! [[Recommended_linux_distros#Emulation_focused|Android-x86]]
 +
|-
 +
|rowspan=6 | Post-Processing
 +
| [[Shader_Presets|Shader Chain]]
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| [[Shaders_and_filters|Filters]]
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{~}}<ref group=N3>Android Studio emulator [https://developer.android.com/studio/run/managing-avds#skins supports lots of device frame and custom skin] (similar to libretro overlay/bezels). You can get additional skins from various sources (e.g. [https://github.com/mingchen/android-emulator-skins mingchen's Android Emulator Skins], [https://sourceforge.net/projects/android-emulator-skins/files/ CREAL's AVD skins]), also you can use buttons on these device frames.</ref>
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
|[[Shaders_and_filters#AI-powered filters|AI-powered filter compatible]]<br/><small>([https://www.nvidia.com/en-us/geforce/news/gfecnt/nvidia-freestyle-ansel-enhancements-geforce-experience-article/ Freestyle])</small>
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br/><small>(FXAA, TXAA and MLAA/SMAA)</small>
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br/><small>(Sharp bilinear, Lanczos and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 1]])</small>
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
|[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features]
 +
| [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua]
 +
| {{?}}
 +
| {{Y}}[https://www.bluestacks.com/features/macros.html *]
 +
| {{?}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| Rewind
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| Fast-Forward/Turbo Speed
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| Savestates
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| [https://tasvideos.org/Movies Movie recording/playback]
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| rowspan=10 | Quality of life
 +
| [[Save_disk_space_for_ISOs#PlayStation_1|Streamable compression format]]
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| Per-Game Profiles
 +
| {{?}}
 +
| {{Y}}[https://support.bluestacks.com/hc/en-us/articles/360055522292-How-to-use-the-Game-controls-menu-on-BlueStacks-5 *]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| Command Line Options
 +
| {{?}}
 +
| {{Y}}[https://old.reddit.com/r/BlueStacks/comments/163yg7p/command_line_options/ *]
 +
| {{?}}
 +
| {{Y}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 
|-
 
|-
|style="text-align:center;"|[[BlueStacks]]
+
| On-Screen Display<br/><small>Showcases messages, controller input state which is useful for speedrunners, performance data, active settings, and various notifications.</small>
|style="text-align:center;"|Windows, Linux
+
| {{?}}
|style="text-align:center;"|[http://www.bluestacks.com/ Official Site]
+
| {{?}}
|style="text-align:center;"|
+
| {{?}}
|style="text-align:center;"|
+
| {{?}}
|style="text-align:center;"|Mid
+
| {{?}}
|style="text-align:center;"|
+
| {{?}}
 +
| {{?}}
 +
| {{?}}
 
|-
 
|-
|style="text-align:center;"|[[andyroid]]
+
| Built-in On-Screen Control<br/><small>Simulating touch input on display via keyboard or gamepad. This QoL enhancement is crucial for lots of touch input exclusive games.<br/>Also you can use third party apps such as [https://github.com/Shyri/TouchMapper TouchMapper] for this.</small>
|style="text-align:center;"|Windows
+
| {{?}}
|style="text-align:center;"|[http://andyroid.net/ Official Site]
+
| {{Y}}[https://support.bluestacks.com/hc/en-us/articles/360058928871 *]
|style="text-align:center;"|
+
| {{?}}
|style="text-align:center;"|
+
| {{N}}
|style="text-align:center;"|Mid
+
| {{?}}[https://old.reddit.com/r/WSA/comments/z62m2v/how_do_i_remap_key_to_screen_presses_for_gaming/ *]
|style="text-align:center;"|✓
+
| {{?}}
 +
| {{?}}
 +
| {{?}}
 
|-
 
|-
|style="text-align:center;"|Google Chrome
+
| [[Compatibility_layer|Built-in translation layer]]
|style="text-align:center;"|Windows, Mac, Linux, Chrome OS
+
| {{✗}}<ref group=N3>You need to manually install libhoudini translation layer on guest system for Genymotion. See [[Compatibility layer]] page.</ref>
|style="text-align:center;"|duh
+
| {{✓}}
|style="text-align:center;"|
+
| {{✓}}[https://developer.android.com/games/playgames/start#playbility-architecture *]
|style="text-align:center;"|
+
| {{✓}}
|style="text-align:center;"|Mid
+
| {{?}}
|style="text-align:center;"|
+
| {{?}}
 +
| {{Y}}<ref group=N3>BlissOS supports out-of-package translation layer [https://blissos.org/ (See 'Bliss OS Variations->Native-bridge' section)]. Also see [https://docs.blissos.org/knowledgebase/frequently-asked-questions/hardware-compatibility this page].</ref>
 +
| {{~}}<ref group=N3>libhoudini is not bundled with Android-x86, there's a script under /system/bin named "enable_houdini" which tries to download it and install from two different urls. So, if these sources are offline, manual installation is necessary. See [https://groups.google.com/g/android-x86/c/tXyfFZ7xeTw this page] for more information.</ref>
 +
|-
 +
| [[Hypervisors|Built-in VM]]
 +
| {{~}}<ref group=N3>Exclusive to "with VirtualBox" builds.</ref>
 +
| {{Y}}<br/><small>Multiple<ref group=N3>BlueStacks uses QEMU (before v2.5), VirtualBox (after v2.5). Also as mentioned in "Before diving in" section, BlueStacks '''supports''' Hyper-V if you are using BlueStacks v4 Hyper-V builds or v5.20+ versions.</ref>
 +
| {{Y}}<br/><small>Hyper-V</small>
 +
| {{Y}}<br/><small>[https://github.com/TrinityEmulator/TrinityEmulator#4-code-organization QEMU 5.0]<ref group=N3>Also supports Hyper-V and obsolete HAXM for hardware acceleration.</ref>
 +
| {{Y}}<br/><small>Hyper-V</small>
 +
| {{Y}}<br/><small>[https://developer.android.com/studio/intro/update#recommended QEMU]<ref group=N3>Also supports [https://developer.android.com/studio/run/emulator-acceleration#vm-windows-aehd AEHD], [https://developer.android.com/studio/run/emulator-acceleration#choose-windows-hypervisor WHPX for Windows] and [https://developer.android.com/studio/run/emulator-acceleration#vm-linux KVM for Linux] for hardware acceleration.</ref></small>
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| File Sharing<br/><small>Similar to "Shared Folder" enhancement for [[Hypervisors#Type_2_hypervisors|Type-2 hypervisors]].</small>
 +
| {{?}}
 +
| {{~}}<ref group=N3>Only for media type files, it supports [https://support.bluestacks.com/hc/en-us/articles/360055684992-How-to-use-the-Media-Manager-on-BlueStacks-5 media file sharing via Media Manager].</ref>
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| Big Picture Mode
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{N}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| Multiple instances and instance manager
 +
| {{?}}
 +
| {{Y}}[https://www.bluestacks.com/features/multi-instance.html 1][https://support.bluestacks.com/hc/en-us/articles/360052834092-How-to-create-and-manage-instances-using-the-Multi-instance-Manager-on-BlueStacks-5 2]
 +
| {{N}}[https://youtu.be/2KEaPQpfzkQ?t=422 *]
 +
| {{N}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| rowspan=2 | Misc
 +
| [[Wikipedia:Variable_refresh_rate|Variable Refresh Rate compatible]]
 +
| {{?}}
 +
| {{N}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| Debug features</br><small>adb support, [https://developer.android.com/agi AGI support], integration with IDE etc.</small>
 +
| {{?}}
 +
| {{~}}[https://support.bluestacks.com/hc/en-us/articles/360053245871-How-to-use-the-BlueStacks-5-Settings-menu#%E2%80%9C6%E2%80%9D *]
 +
| {{Y}}[https://developer.android.com/games/playgames/pg-emulator *]
 +
| {{?}}
 +
| {{?}}
 +
| {{Y}}
 +
| {{?}}
 +
| {{?}}
 
|}
 
|}
 +
</div>
 +
<references group=N3/>
 +
 +
==PlayStation Mobile==
 +
{{Main|PlayStation_Mobile}}
 +
 +
==Android consoles==
 +
Because it's possible to fork and create your own Android-based OS, many developers have used Android to power their own commercial consoles. However, as mentioned before, just because it uses Android as a base does not mean they will all work correctly on a standard Android emulator, as they may require specific hardware setup, extra non-standard APIs or frameworks provided by the OS of the console, or extra authentication that relies on the services bundled with the console.
 +
 +
'''Note: [[Smart_TV_emulators|Smart TVs and smart TV boxes/digital media players/media boxes]] (e.g. ChromeCast with Google TV, Amazon Fire TV) are not consoles, despite some of them are able to run video games. The distinction is simple: If a device is not designed with gaming as its sole or main purpose, then it's not an Android console. Please do not add [[Home_Media_Player|Home media players]] or general Android devices that can play video games, such as [[Smart_TV_emulators|Smart TVs and smart TV boxes/digital media players/media boxes]] etc. to this section.'''
 +
<div style="overflow-x:auto;width:100%">
 +
{| class="wikitable" style="text-align:center;width:100%"
 +
! scope="col"|Name
 +
! scope="col"|[[MAME]] support
 +
! scope="col"|ROMs
 +
! scope="col"|Description
 +
|-
 +
|Atlantis Land Kora
 +
|None
 +
|None
 +
|
 +
|-
 +
|[https://www.clementoni.com/it-en/16612-clemstation-60/ Clemstation 6.0]
 +
|None
 +
|None
 +
|Released in 2018 by Clementoni, the Clemstation is a "multimedia educational console" only sold in Italy that appears to be on a running custom version of Android. Because it's still being sold, it's unknown how games will be made for it and when it will be discontinued. Information on how many units have been sold so far has not been released to the public.
 +
|-
 +
|Diyomate X18
 +
|None
 +
|None
 +
|
 +
|-
 +
|flarePlay
 +
|None
 +
|None
 +
|
 +
|-
 +
|Fuze Tomahawk F1
 +
|None
 +
|None
 +
|A Chinese console with Nvidia Tegra SoC, similar to Nvidia Shield. Has some heavy-hitting exclusive Android titles such as ''Hyperdimension Neptunia Re;Birth1'' and ''Dynasty Warriors 8'', but eventually flopped.
 +
|-
 +
|GPD Mars Gamebox
 +
|None
 +
|None
 +
|
 +
|-
 +
|[[GPD XD Devices|GPD XD / XD+]]
 +
|None
 +
|None
 +
|A foldable handheld console manufactured by Gamepad Digital (GPD).
 +
|-
 +
|LeapFrog Epic
 +
|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
 +
|
 +
|-
 +
|My Clem Box
 +
|None
 +
|None
 +
|Released in 2018 by Italian toy company Clementoni and sold exclusively in Italy, My Clem Box is an educational console with Wii-like motion controls. Because it's still being sold, it's unknown how games will be made for it and when it will be discontinued. Information on how many units have been sold so far has not been released to the public.
 +
|-
 +
|[https://www.takaratomy.co.jp/products/zukanneopad NEO Consoles]
 +
|None
 +
|None
 +
|Released  in 2017 by Takara Tomy. The NEO Series are educational consoles only sold in Japan and appear to use a custom version of Android. Because it's still being sold, it's unknown how games will be made for it and when it will be discontinued. Information on how many units have been sold so far has not been released to the public.
 +
|-
 +
|Nvidia Shield TV
 +
|None
 +
|None
 +
|A console/media box hybrid manufactured by Nvidia. Has a lot of heavy-hitting titles such as ''Metal Gear Rising: Revengeance'', ''Doom 3'', ''Half-Life 2'', etc.
 +
|-
 +
|[[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
 +
|A tiny console the size of a USB thumb drive.
 +
|-
 +
|Razer Forge TV
 +
|None
 +
|None
 +
|
 +
|-
 +
|Phoenix One
 +
|None
 +
|None
 +
|A console/desktop computer hybrid, equipped with Qualcomm 660 SoC, running PhoenixOS which is an Android distro designed for desktop computers. Has a "computer mode" that enables multi-window multitasking and system-wide file manager integration, such as copying & pasting files.
 +
|-
 +
|Razer Forge TV
 +
|None
 +
|None
 +
|
 +
|-
 +
|miniStation
 +
|None
 +
|None
 +
|A console designed by Tencent and manufactured by multiple manufacturers such as Lenovo and Skyworth. Designed to run cellphone games and simple emulators.
 +
|-
 +
|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
 +
|
 +
|-
 +
|}
 +
</div>
 +
 +
 +
==GM Android-based==
 +
Some General Motors cars are equipped with an in-car entertainment system running on Android.
 +
 +
[https://developer.gm.com/app-gallery App Gallery].
 +
 +
==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 [https://opengapps.org/ 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 translation layer by default; in others, like Genymotion, it is possible to install an ARM translation layer manually. See [[#Hardware features]] supported ABI section and [[#Enhancements]] built-in translation layer section for more information.
 +
 +
===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. Also keep in mind that you should turn off Hyper-V windows feature if [[Hypervisors|Type-2 hypervisor]] used for emulator backend due to [[Hypervisors#Hyper-V_feature_conflict_issue|conflict issue]], although some emulators like BlueStacks provide special Hyper-V build for this.
 +
 +
===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 on this page) in a variety of ways, such as 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 [[wikipedia:Fork_(software_development)|forks]] of Android; some of these go beyond a custom UI and are instead entirely new OSes that use the Android code in addition to writing their own code, such as Amazon's Fire OS; in some cases these come as compatibility layers on top of an otherwise unrelated OS, such as Windows Subsystem for Android. Depending on how much (and what) new code, features, and APIs were added, will determine the effects they will have on Android emulation but if one thing 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", "[https://www.luckypatchers.com/ 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)
 +
 +
====KMRE====
 +
* '''Installing third-party apks'''
 +
Installing third-party apks requires a dedicated installer <code>kmre-apk-installer</code>. It could be acquired by command <code>sudo apt update && sudo apt install kmre-apk-installer</code>.
 +
 +
Notice that KMRE is still not designed with third-party apps in mind. Installing third-party apps may result in abnormal behaviors of KMRE such as unable to start & stop itself on demand due to clogged-up background processes of third-party apps.
 +
 +
Installing apks inside KMRE is specifically filtered out unless the application running is upgrading itself.
  
* '''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 (paid builds add features only useful for Android app developers).
+
* '''Receiving a notice that the mobile environment is not running while trying to install third-party apps'''
 +
Go to app store - mobile apps to trigger the startup process of KMRE. You can see a startup notice in the bottom right corner on the desktop while it's starting up.
  
Setting up the emulator itself is not too hard, but a bit of tinkering is required to add the Google Play store and [http://forum.xda-developers.com/showthread.php?t=2528952 ARM processor emulation] (what you need essentially here to play the commercial releases) as well as [https://groups.google.com/d/msg/genymotion-users/JpO8HR39PR0/NpSkrnsB8d8J 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.
+
* '''Accessing Android system settings'''
 +
Execute command <code>startapp com.android.settings</code> in the terminal. Notice that changing system settings is very likely to break KMRE.
 +
* '''Accessing files of Android'''
 +
Files in <code>/storage/emulated/0</code> are mapped to <code>/var/lib/kmre/data/kmre-1000-${LOGNAME}</code>.
  
* '''Bluestacks''' is also commercial with a free option (no account required). 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 "root" it to load apk files to your liking.
+
'''Notice that this path contains a hard link to <code>/home</code>. KMRE will filter out file deletion, but not creation and modification. Improper file management in Android could result in data loss in host machine.'''
 
* '''andyroid works''' too, though the company behind it did adware before previously.
 
  
* Recently, '''Google Chrome''' can open apk files too, though their emulation on PC is average at best. Here's a [http://docs.google.com/spreadsheets/d/1iIbxaftAu_ho5rv9fUlXSLTzwU6MbKOldsWXyrYiyo8/edit#gid=0 compatibility list] and a dedicated subreddit.
+
As KMRE is not really an emulator/hypervisor, the <code>/</code> and other paths such as <code>/sys</code> on Android doesn't have mappings, but some paths are mapped to <code>/var/lib/kmre/kmre-1000-${LOGNAME}</code>.
  
* [http://www.android-x86.org/ android-x86] can be a decent alternative too if run inside virtualbox.
+
==See also==
 +
* [[Cellphone emulators]] - Information on emulators for various feature phone/non-smartphone platforms.
 +
* [[Emulators on Android]] - Various emulators on Android OS
  
==Emulation of other Mobile Phones==
+
==External links==
Info dump here, each one will need to be moved to own article once enough info is gathered.
+
*[[Wikipedia:Comparison_of_mobile_operating_systems|Comparison of mobile operating systems]]
 +
*[[Wikipedia:Android_version_history|Android version history]], [https://developer.android.com/topic/performance/baselineprofiles/overview Android Baseline profiles]
 +
*[https://developer.android.com/ Android Developer]
 +
*[https://xdaforums.com/t/list-of-devices-armv7-armv6-armv5.1596800/ XDAForums - List of devices: ARMv7, ARMv6, ARMv5]
 +
*[[Wikipedia:Comparison_of_high-definition_smartphone_displays#720p_by_1280_.28HD_ready.29|Early Android devices with OLED and HD Ready display]]
  
* '''iOS (iPhone, iPad):''' Doesn't seem to really exist in the same way as with Android. So-called "iOS emulators" like iPadian are just recreations of a select few popular iOS apps, with no real emulation involved. Supposedly, a Mac-exclusive "simulator" in a iOS app development suite has mid-compatibility emulation of commercial games through some tricking it to believe it's part of the dev project (needs verification).
+
[[Category:Mobiles]]
* '''J2ME:''' KEmulator, close sourced & dead.
+
[[Category:Linux-based]]
* '''Other Western cell-phones (Ex, ...):''' some very rough emulators, colose sourced, dead
+
[[Category:Android emulators|*]]
* '''N-Gage:''' preserved but unemulated
+
[[Category:Operating systems]]
* '''Galapagos Japanese cell-phones (DoCoMo, i-mode, RoiD...):''' jar files with specific shell. Absolutely nothing in emulation or preservation. One iOS app supposedly emulated them but it's not clear if that one isn't just another iPadian scam.
+
[[Category:Mobile Operating Systems]]
 +
[[Category:Various Emulation]]
 +
----
 +
{{NEL}}
 +
==Notes==
 +
<references group=N />

Latest revision as of 03:12, 22 March 2024

Android
Android.png
Developer Google
Open Handset Alliance
Release date 2008
Emulated
This page is about software that emulates Android on other hardware, like desktops.
For emulators that run on Android, see Emulators on Android.

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 have 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 with some more tweaks.

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

Emulators

Before diving in,
Name Platform(s) Version Hardware features Enhancements Compatibility FLOSS Active Recommended
PC / x86
Genymotion Windows Linux macOS 3.6.0 ~ ~ ? ~
Google Play Games Windows Beta
Developer
~ ~ Only for selected titles (Beta build)
? (Developer build)
~
WSA
This shouldn't be confused with WSL or WSL2.
See Hypervisor page for WSL2 and Compatibility layer page for WSL.
Windows Comes with Windows store
WSA patch for Windows 10
~ ~ 66%
368 out of 558 reported titles
? ~* ~
Trinity Windows git ~ ~ ? ~ ~
Android Studio
It's an IDE and it includes built-in Android Emulator
Windows Linux Beta and Canary builds
4.0
~ ? ~ ~
BlueStacks Windows macOS 5.20.100 ~ ~ ? [N2 1]
MuMu Windows macOS 1.1.0.2
1.1.0.5 (v2.3.17) (Chinese Ver)
? ? ? [N2 1]
LDPlayer Windows 4.0.50.3 ? ? ? [N2 1]
NoxPlayer Windows 7.0.2.7 ? ? ? [N2 1]
MEmu Windows 8.0.0 ? ? ? [N2 1]
  1. 1.0 1.1 1.2 1.3 1.4 These emulators are closed-source, and while they're distributed for free, their devs look for roundabout ways to monetize them. Since these emulators closed-source and comes with adware and bloatware applications, it's important to research the developers background before using them to ensure their trustworthiness and avoid potential privacy risks before using them. MuMu, LDPlayer, NoxPlayer and MEmu developed by the various Chinese software companies and BlueStacks App Player developed by American technology company called "BlueStacks". Despite data security regulations existing in various regions (e.g., GDPR in the "EU", CCPA in "California", and Cybersecurity Law in "PRC"), concerns regarding government surveillance in certain countries like the "PRC" remain significant. Therefore, we recommend exercising caution when relying on closed-source software developed within such jurisdictions. Make sure to check if there are pre-installed extra apps comes with these emulators and disable or uninstall them (e.g. BlueStacks X, BlueStacks Services etc.), monitor your internet traffic and processor activity to detect any abnormal activity and block domains accordingly if the need arises or use tools like 'simplewall'. Also avoid giving sensitive account data as much as is possible due to potential security reasons. Besides basic safety, these precautions often make impacted emulators run faster and more responsive when the adware services and apps are turned off.

Comparisons

Genymotion
A closed-source Android emulator with lots of hardware features, available for Windows, macOS, and Linux. It's not designed for gaming, but it has decent software compatibility. It's a commercial product though, aimed at software developers and QA teams and you'll need to create an account and download the free non-commercial use license. Except for the pay-to-remove "free for personal use" watermark on the screen, paid builds add features only useful for Android app developers. Unlike other closed-source emulators, Genymotion avoids pre-installing unnecessary apps.
Google Play Games
Not to be confused with the service of the same name, Google Play Games is a PC application that lets you browse, download, and play select mobile games on a Windows desktop or laptop. Use developer build if you want more hardware feature support. Google Play Games is not yet available for Mac. Currently, only bunch of games are available for beta version but Google adding games on a regular basis.[1]
Android Studio built-in emulator device skin demonstration, see #Enhancements
Trinity
Open source Android emulator, it aims for high performance and it's even faster than Google Play Games emulator. See Guest OS image installation guide for installation. Also see OSDI '22 - Trinity: High-Performance Mobile Emulation through Graphics Projection presentation for more information.
Android Studio
Android Studio is an IDE software based on JetBrains' IntelliJ IDEA. It has built-in Android emulator with AVD (Android Virtual Device) configuration manager. While its built-in emulator (which is literally called as "Android Emulator") may not be the fastest or software compatible (supports lots of OS image though), Android Studio shines as a developer's toolkit, offering seamless integration with coding, debugging, and testing tools for Android smartphones, Android TVs, Wear OS and other Android ecosystem hardware. Recent updates brings new UI aims to reduce complexity, provide easier access to essential features etc. It has built-in plugin manager which you can get Genymotion plugin for further enhance its emulation capabilities. Also you can use adb to debugging with developer version of "Google Play Games" emulator. Supports lots of #Hardware features and #Enhancements. See release notes for built-in "Android Emulator" and Android Studio for more information.
BlueStacks
A commercial software with a decent compatibility and performance. It has lots of enhancement and hardware feature support. Newer versions bundled with "BlueStacks X" software and "BlueStacks services" which you can uninstall it afterwards, and you need to uninstall these during each update session unfortunately (BlueStacks Player do not need these apps). It includes Google Apps by default.
MuMu Player
Another closed-source Android emulator. There are three versions of MuMu available
MuMu Player 6
This version of MuMu uses Android 6.0 Marshmallow
MuMu Player X
This one is based on Android 12 Snow Cone and may have more compatibility with games
MuMu Nebula
This version runs Android 7.0 Nougat and is more suitable for low-end computers
MEmu
Another closed-source Android emulator and also with good compatibility.
LDPlayer
Another closed-source Android emulator and also with good compatibility. When testing games alongside Nox, LDPlayer shows better performance/compatibility with games.

Hardware features

These are Android operating system features. This list only includes hardware features that can be possible to emulated through software or will be possible in the near future. Including everything would result in an endless list.

Name Genymotion[1] Bluestacks Google Play Games Trinity WSA Android Studio BlissOS Android-x86
Home screen
This shouldn't be confused with emulator frontend/GUI.
?[N4 1]
Game controllers * * * * ? * ?
Keyboard input ? * ? ? ?
Mouse input * ? ? ? ? ?
Multi-touch [2] [3][4] ?[5] ? ? ? ? ?
Camera ? ? ? ? ? ? ?
USB and USB passthrough * ? ? ? ? ?
Notifications ~* *
Sideloading/Installing ? [N4 2] ~[N4 3] [N4 4] ~*
Wi-Fi *
Location ? ? ? ? ? * ? ?
Bluetooth ? * ? ? * * * ?
Motion sensors ? * ? ? ? * ? ?
Connectivity Google Play Games
Google Play Services
Achievements, Challenges, Leaderboards etc.
? * ? ? ? ?*
Google Cloud Messaging (GCM) ? ? ? ? ? ? ? ?
OS version
KitKat (API 19)
Supporting Android 4.4 (KitKat) is crucial for emulators due to compatibility and preservation reasons.
Older applications and games often rely on the "Dalvik", which isn't present in newer versions and there could be compatibility issues.
Android 5.0 (Lollipop)(API 21) introduced the "Android RunTime" (ART), replacing "Dalvik" entirely.
Having said that ART is mostly backwards compatible with Dalvik. See these sources for more information: 1, 2, 3.
[N4 5] [N4 6] [N4 7] [N4 8]
7.1 Nougat (API 25)
New JIT Compiler, making for 75 percent faster app installations and a 50 percent reduction in compiled code size.
JIT compiler with code profiling to ART, which lets it constantly improve the performance of Android apps as they run.
Vulkan 3D rendering API support.
[N4 5] [N4 9] [N4 7] [N4 8]
Snow Cone (API 31)
Android Runtime (ART) module added to the updatable core OS components via Google Play, added functionality to existing modules.
[N4 5] [N4 9] * [N4 7] [N4 8]
Supported ABIs
armeabi armeabi and MIPS support deprecated in libndk translation layer version r16 and removed in r17.
But libhoudini translation layer still supports it?
armeabi-v7a
Supporting armeabi-v7a ABI is crucial for emulators due to compatibility and preservation reasons.
Older applications and games often rely on the ARM 32-bit (Cortex) architecture, which isn't used in newer hardware.
? [N4 10] ? ? ? ? ?
arm64-v8a ? [N4 10] [N4 11] ? ? ? ?
x86 ? [N4 10] [N4 11] ? ? ? ?
x86_64 ? [N4 10] [N4 11] ? * ? ?
Supported APIs
OpenGL ES 1.x
Supporting OpenGL ES 1.x is crucial for emulators due to compatibility and preservation reasons.
? ? ? ? ? ? ?
OpenGL ES 3.x
The OpenGL ES 3.x APIs is backwards-compatible with the 2.x APIs which is crucial for emulators due to compatibility and preservation reasons.
? ? ? * ? ? ?
Vulkan 1.3
See Android Baseline 2022 profile and also see Vulkan API versions for several Android releases.
Vulkan releases are backward compatible with each other.
? ? ? ? ? ? ? ?
  1. Exclusive to developer builds and it's looking similar to Android 12 tablet home menu launcher (Demonstration). It's unclear whether this app directly emulates the native home screen or provides an alternative UI/UX with limited features.
  2. If you're using latest version of BlueStacks you'll need to install a file manager to copy game cache when loading your own .apk files, or simply use .xapk containers.
  3. Exclusive to developer builds, Demonstration. For using sideloading in the developer builds you need to use adb install "AppName.apk" command in the Command Prompt.
  4. Use adb to connect then use adb install command.
  5. 5.0 5.1 5.2 Genymotion: Which Android versions are available?, Since September 2022, Genymotion no longer provide Android 4.4 and below images, seethis page.
  6. You need to use BlueStacks 3 version (not 3N), because it is the latest version supports KitKat.
  7. 7.0 7.1 7.2 BlissOS OS support.
  8. 8.0 8.1 8.2 KitKat and Nougat supported with Android-x86.
  9. 9.0 9.1 Which Android versions are available on BlueStacks?.
  10. 10.0 10.1 10.2 10.3 What is Application Binary Interface (ABI) in BlueStacks 5
  11. 11.0 11.1 11.2 Google Play Games ABI Architecture support.

Enhancements

Name Genymotion Bluestacks Google Play Games Trinity WSA Android Studio BlissOS Android-x86
Post-Processing Shader Chain
Filters ~[N3 1]
AI-powered filter compatible
(Freestyle)
? ? ? ? ? ? ? ?
Post-rendering AA
(FXAA, TXAA and MLAA/SMAA)
Post-rendering scaling
(Sharp bilinear, Lanczos and FSR 1)
Inverse tone mapping compatible ? ? ? ? ? ? ? ?
TAS features Macros/Scripts/Lua ? * ? ? ? ?
Rewind
Fast-Forward/Turbo Speed
Savestates
Movie recording/playback
Quality of life Streamable compression format
Per-Game Profiles ? * ? ? ? ? ? ?
Command Line Options ? * ? ? ? ? ?
On-Screen Display
Showcases messages, controller input state which is useful for speedrunners, performance data, active settings, and various notifications.
? ? ? ? ? ? ? ?
Built-in On-Screen Control
Simulating touch input on display via keyboard or gamepad. This QoL enhancement is crucial for lots of touch input exclusive games.
Also you can use third party apps such as TouchMapper for this.
? * ? ?* ? ? ?
Built-in translation layer [N3 2] * ? ? [N3 3] ~[N3 4]
Built-in VM ~[N3 5]
Multiple[N3 6]

Hyper-V

QEMU 5.0[N3 7]

Hyper-V

QEMU[N3 8]
File Sharing
Similar to "Shared Folder" enhancement for Type-2 hypervisors.
? ~[N3 9] ? ? ? ? ? ?
Big Picture Mode ? ? ? ? ? ? ?
Multiple instances and instance manager ? 12 * ? ? ? ?
Misc Variable Refresh Rate compatible ? ? ? ? ? ? ?
Debug features
adb support, AGI support, integration with IDE etc.
? ~* * ? ? ? ?
  1. Android Studio emulator supports lots of device frame and custom skin (similar to libretro overlay/bezels). You can get additional skins from various sources (e.g. mingchen's Android Emulator Skins, CREAL's AVD skins), also you can use buttons on these device frames.
  2. You need to manually install libhoudini translation layer on guest system for Genymotion. See Compatibility layer page.
  3. BlissOS supports out-of-package translation layer (See 'Bliss OS Variations->Native-bridge' section). Also see this page.
  4. libhoudini is not bundled with Android-x86, there's a script under /system/bin named "enable_houdini" which tries to download it and install from two different urls. So, if these sources are offline, manual installation is necessary. See this page for more information.
  5. Exclusive to "with VirtualBox" builds.
  6. BlueStacks uses QEMU (before v2.5), VirtualBox (after v2.5). Also as mentioned in "Before diving in" section, BlueStacks supports Hyper-V if you are using BlueStacks v4 Hyper-V builds or v5.20+ versions.
  7. Also supports Hyper-V and obsolete HAXM for hardware acceleration.
  8. Also supports AEHD, WHPX for Windows and KVM for Linux for hardware acceleration.
  9. Only for media type files, it supports media file sharing via Media Manager.

PlayStation Mobile

Main article: PlayStation_Mobile

Android consoles

Because it's possible to fork and create your own Android-based OS, many developers have used Android to power their own commercial consoles. However, as mentioned before, just because it uses Android as a base does not mean they will all work correctly on a standard Android emulator, as they may require specific hardware setup, extra non-standard APIs or frameworks provided by the OS of the console, or extra authentication that relies on the services bundled with the console.

Note: Smart TVs and smart TV boxes/digital media players/media boxes (e.g. ChromeCast with Google TV, Amazon Fire TV) are not consoles, despite some of them are able to run video games. The distinction is simple: If a device is not designed with gaming as its sole or main purpose, then it's not an Android console. Please do not add Home media players or general Android devices that can play video games, such as Smart TVs and smart TV boxes/digital media players/media boxes etc. to this section.

Name MAME support ROMs Description
Atlantis Land Kora None None
Clemstation 6.0 None None Released in 2018 by Clementoni, the Clemstation is a "multimedia educational console" only sold in Italy that appears to be on a running custom version of Android. Because it's still being sold, it's unknown how games will be made for it and when it will be discontinued. Information on how many units have been sold so far has not been released to the public.
Diyomate X18 None None
flarePlay None None
Fuze Tomahawk F1 None None A Chinese console with Nvidia Tegra SoC, similar to Nvidia Shield. Has some heavy-hitting exclusive Android titles such as Hyperdimension Neptunia Re;Birth1 and Dynasty Warriors 8, but eventually flopped.
GPD Mars Gamebox None None
GPD XD / XD+ None None A foldable handheld console manufactured by Gamepad Digital (GPD).
LeapFrog Epic 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
My Clem Box None None Released in 2018 by Italian toy company Clementoni and sold exclusively in Italy, My Clem Box is an educational console with Wii-like motion controls. Because it's still being sold, it's unknown how games will be made for it and when it will be discontinued. Information on how many units have been sold so far has not been released to the public.
NEO Consoles None None Released in 2017 by Takara Tomy. The NEO Series are educational consoles only sold in Japan and appear to use a custom version of Android. Because it's still being sold, it's unknown how games will be made for it and when it will be discontinued. Information on how many units have been sold so far has not been released to the public.
Nvidia Shield TV None None A console/media box hybrid manufactured by Nvidia. Has a lot of heavy-hitting titles such as Metal Gear Rising: Revengeance, Doom 3, Half-Life 2, etc.
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 A tiny console the size of a USB thumb drive.
Razer Forge TV None None
Phoenix One None None A console/desktop computer hybrid, equipped with Qualcomm 660 SoC, running PhoenixOS which is an Android distro designed for desktop computers. Has a "computer mode" that enables multi-window multitasking and system-wide file manager integration, such as copying & pasting files.
Razer Forge TV None None
miniStation None None A console designed by Tencent and manufactured by multiple manufacturers such as Lenovo and Skyworth. Designed to run cellphone games and simple emulators.
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


GM Android-based

Some General Motors cars are equipped with an in-car entertainment system running on Android.

App Gallery.

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 translation layer by default; in others, like Genymotion, it is possible to install an ARM translation layer manually. See #Hardware features supported ABI section and #Enhancements built-in translation layer section for more information.

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. Also keep in mind that you should turn off Hyper-V windows feature if Type-2 hypervisor used for emulator backend due to conflict issue, although some emulators like BlueStacks provide special Hyper-V build for this.

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 on this page) in a variety of ways, such as 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; some of these go beyond a custom UI and are instead entirely new OSes that use the Android code in addition to writing their own code, such as Amazon's Fire OS; in some cases these come as compatibility layers on top of an otherwise unrelated OS, such as Windows Subsystem for Android. Depending on how much (and what) new code, features, and APIs were added, will determine the effects they will have on Android emulation but if one thing 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)

KMRE

  • Installing third-party apks

Installing third-party apks requires a dedicated installer kmre-apk-installer. It could be acquired by command sudo apt update && sudo apt install kmre-apk-installer.

Notice that KMRE is still not designed with third-party apps in mind. Installing third-party apps may result in abnormal behaviors of KMRE such as unable to start & stop itself on demand due to clogged-up background processes of third-party apps.

Installing apks inside KMRE is specifically filtered out unless the application running is upgrading itself.

  • Receiving a notice that the mobile environment is not running while trying to install third-party apps

Go to app store - mobile apps to trigger the startup process of KMRE. You can see a startup notice in the bottom right corner on the desktop while it's starting up.

  • Accessing Android system settings

Execute command startapp com.android.settings in the terminal. Notice that changing system settings is very likely to break KMRE.

  • Accessing files of Android

Files in /storage/emulated/0 are mapped to /var/lib/kmre/data/kmre-1000-${LOGNAME}.

Notice that this path contains a hard link to /home. KMRE will filter out file deletion, but not creation and modification. Improper file management in Android could result in data loss in host machine.

As KMRE is not really an emulator/hypervisor, the / and other paths such as /sys on Android doesn't have mappings, but some paths are mapped to /var/lib/kmre/kmre-1000-${LOGNAME}.

See also

External links


Notes