Android emulators: Difference between revisions
Ilyagredasov (talk | contribs) No edit summary Tags: Mobile edit Mobile web edit |
m Android Studio is available on macOS |
||
| (20 intermediate revisions by 6 users not shown) | |||
| Line 1: | Line 1: | ||
{{Infobox OS/Android}} | {{Infobox OS/Android}} | ||
: ''This page is about software that emulates Android on other hardware, like desktops.'' | |||
{{for|emulators that run on Android|Emulators on Android}} | |||
'''[[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. | |||
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, see [[Copy_protection#Bypassing_Copy_Protection]] section for information about APK+DATA and copy protection situation on Android). 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,<ref group="note">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. | ||
To run Android apps on your computer, most of the Android 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. | |||
== | == Before diving in == | ||
;* [[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. | |||
;* If you already have an Android device, we recommend using a mirroring application like "[https://github.com/Genymobile/scrcpy scrcpy]" instead of these "emulators". | |||
;* If you've got an extra device lying around, you can use [[Recommended Linux distros#Android]] instead of these "emulators". | |||
== Emulators == | |||
{| {{Emulator table}} | |||
|+{{Emulator comparison introduction|[[Android emulators#Enhancements|enhancements]], [[Android emulators#Hardware features|hardware features]], and [[Android emulators#Android consoles|Android consoles]]. Also see [[PlayStation Mobile]].}} | |||
!Name | !Name | ||
!Platform(s) | !Platform(s) | ||
!Active? | |||
!Latest version | !Latest version | ||
![[Licensing|License]] | |||
!Compatibility | !Compatibility | ||
![[ | ![[Recommended emulators|Recommended? (overall)]] | ||
! | |- | ||
! colspan="7" |PC | |||
|- | |||
|ARCVM | |||
| align="left" |{{Icon|ChromeOS}}||{{Ya}} | |||
|N/A||{{Red}} {{License|Proprietary}} | |||
|?||{{~}} | |||
|- | |- | ||
|Android Studio | |||
<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|macOS}}||{{Ya}} | |||
|[https://developer.android.com/studio/archive Beta and Canary builds] | |||
[https://developer.android.com/studio/ 4.0] | |||
|{{Red}} {{License|SA}} | |||
|?||{{~}} | |||
|- | |- | ||
|[[Genymotion]] | |[[Genymotion]] | ||
|align=left|{{Icon|Windows|Linux|macOS}} | | align="left" |{{Icon|Windows|Linux|macOS}}||{{Ya}} | ||
|[https://www.genymotion.com/download/ {{GenymotionVer}}] | |[https://www.genymotion.com/download/ {{GenymotionVer}}]||{{Red}} {{License|Proprietary}} | ||
| | |?||{{~}} | ||
|{{Red}} {{License|Proprietary}} | | |||
|- | |- | ||
|[https://play.google.com/googleplaygames Google Play Games] | |[https://play.google.com/googleplaygames Google Play Games] | ||
|align=left|{{Icon|Windows}} | | align="left" |{{Icon|Windows}}||{{Ya}} | ||
|[https://play.google.com/googleplaygames#section-system-requirements Beta] | |[https://play.google.com/googleplaygames#section-system-requirements Beta] | ||
|<small>[https://play.google.com/googleplaygames/exploregames Only for selected titles] (Beta build)< | [https://developer.android.com/games/playgames/emulator Developer] | ||
|{{Red}} {{License|Proprietary}} | |||
|<small>[https://play.google.com/googleplaygames/exploregames Only for selected titles] (Beta build)</small> | |||
<small>? (Developer build)</small> | |||
|{{~}} | |||
|- | |- | ||
|[https:// | |[https://trinityemulator.github.io/ Trinity] | ||
|align=left|{{Icon|Windows}} | | align="left" |{{Icon|Windows}}||{{~}} | ||
| | |[https://github.com/TrinityEmulator/TrinityEmulator/releases git]||{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | ||
|[https://github.com/ | |?||{{~}} | ||
|{{ | |||
|- | |- | ||
|[https://waydro.id/index.html Waydroid] | |[https://waydro.id/index.html Waydroid] | ||
|align=left|{{Icon|Linux}} | | align="left" |{{Icon|Linux|LinuxARM}}||{{Ya}} | ||
|[https://waydro.id/#install git] | |[https://waydro.id/#install git] | ||
[https://github.com/casualsnek/waydroid_script Extras script] | |||
|{{Green}} {{License|GPLv3}} ({{License|Copyleft}}) ||{{ | |{{Green}} {{License|GPLv3}} ({{License|Copyleft}}) | ||
|?||{{~}} | |||
|- | |||
|[https://learn.microsoft.com/en-us/windows/android/wsa/release-notes WSA] | |||
<small>This shouldn't be confused with WSL or WSL2.</small> | |||
<small>See [[Hypervisor]] page for WSL2 and [[Compatibility layer]] page for WSL.</small> | |||
| align="left" |{{Icon|Windows|WoA}}||{{~|link=https://learn.microsoft.com/en-us/windows/android/wsa/}} | |||
|Comes with Windows store | |||
[https://github.com/cinit/WSAPatch WSA patch for Windows 10] | |||
|{{Dunno}} | |||
|{{Emulator compatibility|368|558|link=https://github.com/riverar/wsa-app-compatibility#support-tables}}||{{~}} | |||
|- | |- | ||
|[ | |[[Anbox]] | ||
|align=left|{{Icon| | | align="left" |{{Icon|Linux|LinuxARM}}||{{Na}} | ||
|[https:// | |[https://docs.anbox.io/userguide/install.html git]||{{Green}} {{License|GPLv3}} ({{License|Copyleft}}) | ||
| | |?||{{Na}} | ||
|{{Green}} {{License| | |||
|- | |- | ||
| | |Andy OS | ||
|align=left|{{Icon| | | align="left" |{{Icon|Windows|macOS}}||{{Ya}} | ||
| | |[https://andyroid.net/ 0.47.226.1096.26]||{{Red}} {{License|Proprietary}} | ||
| | |?||{{Na}}<ref name="Bloatware" group="note" /> | ||
|{{Red}} {{License|Proprietary}} | | |||
|- | |- | ||
| | |ARC Welder | ||
|align=left|{{Icon|Windows|Linux}} | <small>(Google Chrome)</small> | ||
|[https://developer. | | align="left" |{{Icon|Windows|Linux|macOS}}||{{Na}} | ||
| | |[https://developer.chrome.com/apps/getstarted_arc ARC 50.5021.602.0]||{{Red}} {{License|Proprietary}} | ||
|{{Red}} {{License| | |?||{{Na}} | ||
|- | |- | ||
| | |ARChon | ||
|align=left|{{Icon|Linux}} | <small>(Google Chrome)</small> | ||
|[https:// | | align="left" |{{Icon|Windows|Linux|macOS}}||{{Na}} | ||
| | |[https://archon-runtime.github.io/ ARC 41.4410.238.0]||{{Red}} {{License|SA}} | ||
|{{ | |?||{{Na}} | ||
|- | |- | ||
|[[BlueStacks]] | |[[BlueStacks]] | ||
|align=left|{{Icon|Windows|macOS}} | | align="left" |{{Icon|Windows|macOS}}||{{Ya}} | ||
|[https://support.bluestacks.com/hc/en-us/sections/360012290292-Release-Notes {{BlueStacksVer}}] | |[https://support.bluestacks.com/hc/en-us/sections/360012290292-Release-Notes {{BlueStacksVer}}]||{{Red}} {{License|Proprietary}} | ||
|[https://support.bluestacks.com/hc/en-us/articles/4413818315789-Games-playable-on-different-Android-versions-on-BlueStacks-5 ?] | |[https://support.bluestacks.com/hc/en-us/articles/4413818315789-Games-playable-on-different-Android-versions-on-BlueStacks-5 ?]||{{Na}}<ref name="Bloatware" group="note">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 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 '[https://github.com/henrypp/simplewall 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> | ||
|- | |- | ||
| | |Droid4X | ||
|align=left|{{Icon|Windows|macOS}} | | align="left" |{{Icon|Windows|macOS}}||{{Na}} | ||
|[https:// | |[https://droid4x.cc/ 0.10.7]||{{Red}} {{License|Proprietary}} | ||
| | |?||{{Na}} | ||
|{{Red}} {{License|Proprietary}} | | |||
|- | |- | ||
| | |KoPlayer | ||
|align=left|{{Icon|Windows}} | | align="left" |{{Icon|Windows}}||{{Na}} | ||
|[https:// | |[https://koplayerpc.com/ 2.0.0]||{{Red}} {{License|Proprietary}} | ||
| | |?||{{Na}} | ||
|{{Red}} {{License|Proprietary}} | | |||
|- | |- | ||
| | |LDPlayer<ref group="note">LDShop and LDPlayer's cloud backend suffered a major data breach exposing user screens and payment sessions, while the bundled Sogou keyboard has been flagged for telemetry that logs plaintext keystrokes. ([https://x.com/nte_wl/status/2054627592054153273 see tweet)]</ref> | ||
|align=left|{{Icon|Windows}} | | align="left" |{{Icon|Windows}}||{{Ya}} | ||
|[https:// | |[https://en.ldplayer.net/ 4.0.50.3]||{{Red}} {{License|Proprietary}} | ||
| | |?||{{Na}}<ref name="Bloatware" group="note" /> | ||
|{{Red}} {{License|Proprietary}} | | |||
|- | |- | ||
|MEmu | |MEmu | ||
|align=left|{{Icon|Windows}} | | align="left" |{{Icon|Windows}}||{{Ya}} | ||
|[https://www.memuplay.com/ {{MEmuVer}}] | |[https://www.memuplay.com/ {{MEmuVer}}]||{{Red}} {{License|Proprietary}} | ||
| | |?||{{Na}}<ref name="Bloatware" group="note" /> | ||
|{{Red}} {{License|Proprietary}} | | |||
|- | |- | ||
| | |MuMu | ||
|align=left|{{Icon|Windows|macOS}} | | align="left" |{{Icon|Windows|macOS|WoA}}||{{Ya}} | ||
|[https:// | |[https://mumu.163.com/global/download/en/index.html 1.1.0.2] | ||
<small>[https://mumu.163.com 1.1.0.5 (v2.3.17) (Chinese Ver)]</small> | |||
|{{Red}} {{License|Proprietary}} | | |{{Red}} {{License|Proprietary}} | ||
|?||{{Na}}<ref name="Bloatware" group="note" /> | |||
|- | |- | ||
| | |NoxPlayer | ||
|align=left|{{Icon|Windows|macOS | | align="left" |{{Icon|Windows|macOS}}||{{Ya}} | ||
|[https://www.bignox.com 7.0.2.7]||{{Red}} {{License|Proprietary}} | |||
|?||{{Na}}<ref name="Bloatware" group="note" /> | |||
|[https:// | |||
| | |||
|{{Red}} {{License|Proprietary}} | | |||
|- | |- | ||
|LeapDroid | |LeapDroid | ||
|align=left|{{Icon|Windows}} | | align="left" |{{Icon|Windows}}||{{Na}} | ||
|[http://www.leapdroid.com/ 1.8.0] | |[http://www.leapdroid.com/ 1.8.0]||{{Red}} {{License|Proprietary}} | ||
| | |?||{{Na}} | ||
|{{Red}} {{License|Proprietary}} | | |||
|- | |- | ||
|Peak App Player | |Peak App Player | ||
|align=left|{{Icon|Windows}} | | align="left" |{{Icon|Windows}}||{{Na}} | ||
|[http://web.archive.org/web/20191120002207/http://www.peakplayer.net/index.php/en/peakplayeren/ 1.2.5 Beta 2] | |[http://web.archive.org/web/20191120002207/http://www.peakplayer.net/index.php/en/peakplayeren/ 1.2.5 Beta 2]||{{Red}} {{License|Proprietary}} | ||
| | |?||{{Na}} | ||
|{{Red}} {{License|Proprietary}} | | |||
|- | |- | ||
|Shashlik | |Shashlik | ||
|align=left|{{Icon|Linux}} | | align="left" |{{Icon|Linux}}||{{Na}} | ||
|[http://www.shashlik.io/ 0.9.3] | |[http://www.shashlik.io/ 0.9.3]||{{Dunno}} | ||
| | |?||{{Na}} | ||
|{{ | |||
|- | |- | ||
|SmartGaGa | |SmartGaGa | ||
|align=left|{{Icon|Windows}} | | align="left" |{{Icon|Windows}}||{{Na}} | ||
|[http://web.archive.org/web/20190820044528/https://www.smartgaga.com/ 1.1.646] | |[http://web.archive.org/web/20190820044528/https://www.smartgaga.com/ 1.1.646]||{{Red}} {{License|Proprietary}} | ||
| | |?||{{Na}} | ||
|{{Red}} {{License|Proprietary}} | | |||
|- | |- | ||
|Windroy | |Windroy | ||
|align=left|{{Icon|Windows}} | | align="left" |{{Icon|Windows}}||{{Na}} | ||
|[https://sourceforge.net/projects/windroy/ 4.0.3] | |[https://sourceforge.net/projects/windroy/ 4.0.3]||{{Red}} {{License|Proprietary}} | ||
| | |?||{{Na}} | ||
|{{Red}} {{License|Proprietary}} | | |||
|- | |- | ||
|Windroye | |Windroye | ||
|align=left|{{Icon|Windows}} | | align="left" |{{Icon|Windows}}||{{Na}} | ||
|2.9.1 | |2.9.1||{{Red}} {{License|Proprietary}} | ||
| | |?||{{Na}} | ||
|{{Red}} {{License|Proprietary}} | | |||
|- | |- | ||
|Xamarin Android Player | |Xamarin Android Player | ||
|align=left|{{Icon|Windows|macOS}} | | align="left" |{{Icon|Windows|macOS}}||{{Na}} | ||
|[https://github.com/xamarin/release-notes-archive/blob/master/release-notes/android/android-player/index.md 0.6.5] | |[https://github.com/xamarin/release-notes-archive/blob/master/release-notes/android/android-player/index.md 0.6.5]||{{Red}} {{License|Proprietary}} | ||
| | |?||{{Na}} | ||
|{{Red}} {{License|Proprietary}} | | |||
|- | |- | ||
|XePlayer | |XePlayer | ||
|align=left|{{Icon|Windows}} | | align="left" |{{Icon|Windows}}||{{Na}} | ||
|[http://xeplayer.com/ 6.0.10] | |[http://xeplayer.com/ 6.0.10]||{{Red}} {{License|Proprietary}} | ||
| | |?||{{Na}} | ||
|{{Red}} {{License|Proprietary}} | | |||
|- | |- | ||
|YouWave | |YouWave | ||
|align=left|{{Icon|Windows}} | | align="left" |{{Icon|Windows}}||{{Na}} | ||
|[https://youwave.com/ 5.11] | |[https://youwave.com/ 5.11]||{{Red}} {{License|Proprietary}} | ||
| | |?||{{Na}} | ||
|{{Red}} {{License|Proprietary}} | | |||
|- | |- | ||
|Lepton | |Lepton | ||
|align=left|{{Icon|Linux}} | | align="left" |{{Icon|Linux}}||{{TBD}} | ||
|{{TBD}} | |||{{TBD}} | ||
|[https://steamdb.info/app/3043620/info/ ?]||{{TBD}} | |||
|- | |||
! colspan="7" |Mobile | |||
|- | |- | ||
|Windows Bridge for Android | |||
<small>(Project Astoria)</small> | |||
| align="left" |{{Icon|Win10Phone}}||{{Na}} | |||
|Discontinued ($)||{{Red}} {{License|Proprietary}} | |||
|?||{{Na}} | |||
|- | |- | ||
! colspan="7" |Browser | |||
|- | |- | ||
| | |ARC Welder | ||
|align=left|{{Icon| | <small>(Google Chrome)</small> | ||
|[https:// | | align="left" |{{Icon|Web}}||{{Na}} | ||
| | |[https://developer.chrome.com/apps/getstarted_arc ARC 50.5021.602.0]||{{Red}} {{License|Proprietary}} | ||
|{{ | |?||{{Na}} | ||
|- | |- | ||
| | |ARChon | ||
|align=left|{{Icon| | <small>(Google Chrome)</small> | ||
| | | align="left" |{{Icon|Web}}||{{Na}} | ||
| | |[https://archon-runtime.github.io/ ARC 41.4410.238.0]||{{Red}} {{License|SA}} | ||
|{{Red}} {{License| | |?||{{Na}} | ||
|} | |} | ||
==Compatibility layers ([[ | == Compatibility layers ([[Compatibility layers|...]]) == | ||
{| | {| {{Emulator table}} | ||
!Name | !Name | ||
!Platform(s) | !Platform(s) | ||
!Latest | !Active? | ||
!Latest version | |||
![[Licensing|License]] | |||
!Compatibility | !Compatibility | ||
![[Recommended emulators|Recommended? (overall)]] | |||
![[Recommended | |||
|- | |- | ||
! colspan=" | ! colspan="7" |PC | ||
|- | |- | ||
|KMRE | |KMRE | ||
|align=left|{{Icon|Linux}} | | align="left" |{{Icon|Linux}}||{{Dunno}} | ||
|[https://archive.ubuntukylin.com/ubuntukylin/pool/partner/kmre_2.4.6.8+22.04_amd64.deb 2.4.6.8] | |[https://archive.ubuntukylin.com/ubuntukylin/pool/partner/kmre_2.4.6.8+22.04_amd64.deb 2.4.6.8]||{{Dunno}} | ||
|?||{{Na}} | |||
|} | |} | ||
==Comparisons== | == Comparisons == | ||
;Emulators | |||
:;Genymotion | ; Emulators | ||
::A closed-source Android emulator with lots of [[# | :; Genymotion | ||
:: A closed-source Android emulator with lots of [[Android emulators#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 [[Android emulators#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|298x298px|Android Studio built-in emulator device skin demonstration, see [[#Enhancements]]]] | |||
[[File: | |||
:;Trinity | :; Trinity | ||
::Open source Android emulator, basically a repackaged Qemu Android x86 VM. It aims for high | :: Open source Android emulator, basically a repackaged Qemu Android x86 VM. It aims for high {{YouTubeVideoTime|tfq4MsxaHZw|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 | ||
::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, [[ | :: 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. | ||
:;Waydroid: Waydroid runs a full Android system inside a Linux container, giving Android apps direct access to the host kernel. It’s built for Wayland desktops (X11 support is unofficial) and avoids virtualization, unlike emulators. Because it runs Android’s native libraries rather than translating APIs, it provides near‑native performance and can expose host GPU, audio, and peripherals to Android apps. | :; Waydroid | ||
:: Waydroid runs a full Android system inside a Linux container, giving Android apps direct access to the host kernel. It’s built for Wayland desktops (X11 support is unofficial) and avoids virtualization, unlike emulators. Because it runs Android’s native libraries rather than translating APIs, it provides near‑native performance and can expose host GPU, audio, and peripherals to Android apps. | |||
::;Lepton: Valve’s fork of Waydroid created for the upcoming Steam Frame VR headset. It uses the same container‑based AOSP runtime but adds Steam integration, VR‑optimized rendering paths, and extra drivers to expose the headset’s sensors. Like Waydroid, it supports sideloading APKs and runs without traditional virtualization. Lepton is intended primarily for games targeting standalone headsets such as Meta Quest, and the Steam store will also add support for publishing APK files. | ::; Lepton | ||
::: Valve’s fork of Waydroid created for the upcoming Steam Frame VR headset. It uses the same container‑based AOSP runtime but adds Steam integration, VR‑optimized rendering paths, and extra drivers to expose the headset’s sensors. Like Waydroid, it supports sideloading APKs and runs without traditional virtualization. Lepton is intended primarily for games targeting standalone headsets such as Meta Quest, and the Steam store will also add support for publishing APK files. | |||
:; Anbox | :; Anbox | ||
::Anbox is a project that aims to run Android applications on Ubuntu distributions. It is in 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. Development has been succeeded by Waydroid. | :: Anbox is a project that aims to run Android applications on Ubuntu distributions. It is in 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. Development has been succeeded by Waydroid. | ||
:;BlueStacks | :; BlueStacks | ||
::A commercial software with a decent compatibility and performance. It has lots of [[#Enhancements|enhancement]] and [[# | :: A commercial software with a decent compatibility and performance. It has lots of [[Android emulators#Enhancements|enhancement]] and [[Android emulators#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 | :; MuMu Player | ||
::Another closed-source Android emulator. There are three versions of MuMu available | :: Another closed-source Android emulator. There are three versions of MuMu available | ||
::;MuMu Player 6 | ::; MuMu Player 6 | ||
:::This version of MuMu uses Android 6.0 Marshmallow | ::: This version of MuMu uses Android 6.0 Marshmallow | ||
::;MuMu Player 12 | ::; MuMu Player 12 | ||
:::This one is based on Android 12 Snow Cone and may have more compatibility with games | ::: This one is based on Android 12 Snow Cone and may have more compatibility with games | ||
::;MuMu Nebula | ::; MuMu Nebula | ||
:::This version runs Android 7.0 Nougat and is more suitable for low-end computers | ::: This version runs Android 7.0 Nougat and is more suitable for low-end computers | ||
:;MEmu | :; MEmu | ||
::Another closed-source Android emulator and also with good compatibility. | :: Another closed-source Android emulator and also with good compatibility. | ||
:;LDPlayer | :; LDPlayer | ||
::Another closed-source Android emulator and also with good compatibility. When testing games alongside Nox, LDPlayer shows better performance/compatibility with games. | :: Another closed-source Android emulator and also with good compatibility. When testing games alongside Nox, LDPlayer shows better performance/compatibility with games. | ||
:;Droid4x | :; Droid4x | ||
::Has good compatibility 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 are a pain to uninstall or deactivate (in case you've already fallen for it, use Revo Uninstaller). | :: Has good compatibility 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 are a pain to uninstall or deactivate (in case you've already fallen for it, use Revo Uninstaller). | ||
:;Windroy | :; Windroy | ||
::(Without the 'e' suffix) is a fast Android emulator that does not rely on VirtualBox or any similar technology. Compatibility isn't good, though. While the 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. | :: (Without the 'e' suffix) is a fast Android emulator that does not rely on VirtualBox or any similar technology. Compatibility isn't good, though. While the 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. | ||
:;Windroye | :; 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. | :: (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. | ||
:;Shashlik | :; Shashlik | ||
::A project by KDE that aims to run Android applications on Linux using KDE5 and Qt5 technology. The project is in infancy state and only known to run on latest Kubuntu versions. It lacks ARM processor emulation, so not many games will run. It is, however, known to play [https://www.youtube.com/watch?v=9SC6c_ih_Ac Flappy Bird] and can show [https://www.youtube.com/watch?v=ju_R8ftiIp4 Spotify's login screen]. It uses a modified version of [[QEMU]] to emulate the Android operating system. The last major update was in March 2016 and seems to be abandoned. | :: A project by KDE that aims to run Android applications on Linux using KDE5 and Qt5 technology. The project is in infancy state and only known to run on latest Kubuntu versions. It lacks ARM processor emulation, so not many games will run. It is, however, known to play [https://www.youtube.com/watch?v=9SC6c_ih_Ac Flappy Bird] and can show [https://www.youtube.com/watch?v=ju_R8ftiIp4 Spotify's login screen]. It uses a modified version of [[QEMU]] to emulate the Android operating system. The last major update was in March 2016 and seems to be abandoned. | ||
:;Xamarin Android Player | :; Xamarin Android Player | ||
::A newcomer to the Android emulation market. Not much is known about this because it required a minimum $25/month subscription to main Xamarin products. The main Xamarin products were | :: A newcomer to the Android emulation market. Not much is known about this because it required a minimum $25/month subscription to 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, as its technology was later incorporated into Visual Studio for Android app development. | ||
:;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 that 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 that 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. | ||
;Android Linux distros | ; Android Linux distros | ||
:;Andy OS | :; 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 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. | :: 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 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. | ||
;Compatibility layers | ; Compatibility layers | ||
:;KMRE | :; KMRE | ||
::KMRE is a compatibility layer and The official solution to run Android applications on computers with Chinese homegrown Phytium/KunPeng ARM processors and NeoKylin Linux operating system, though later also available on x86-64 on [https://www.ubuntukylin.com/index-en.html Ubuntu Kylin]. KMRE is not designed with third-party applications outside its app store and in fact, force installing third-party apps breaks older versions of KMRE. | :: KMRE is a compatibility layer and The official solution to run Android applications on computers with Chinese homegrown Phytium/KunPeng ARM processors and NeoKylin Linux operating system, though later also available on x86-64 on [https://www.ubuntukylin.com/index-en.html Ubuntu Kylin]. KMRE is not designed with third-party applications outside its app store and in fact, force installing third-party apps breaks older versions of KMRE. It's an somewhat reasonable solution if you are restricted to working with these kinds of computers due to national security reasons. | ||
::See [[#KMRE|KMRE section]] for more information. | :: See [[Android emulators#KMRE|KMRE section]] for more information. | ||
==Enhancements== | == Enhancements == | ||
{| | {| {{Basic table}} | ||
|+Please only include recommended emulators in this table. Do not bump or spam GitHub threads, issues, or feature request pages. | |+Please only include recommended emulators in this table. Do not bump or spam GitHub threads, issues, or feature request pages. | ||
! colspan=2 style="width:50%" | Name | ! colspan="2" style="width:50%" |Name | ||
! Genymotion | !ARCVM | ||
! Google Play Games | !Android Studio | ||
! | !Genymotion | ||
!Google Play Games | |||
!Trinity | |||
!Waydroid | !Waydroid | ||
! | !WSA | ||
|- | |- | ||
| rowspan="1" | Controls | | rowspan="1" |Controls | ||
| [https://docs.retroachievements.org/general/tutorials/turbo-button.html Turbo button] | |[https://docs.retroachievements.org/general/tutorials/turbo-button.html Turbo button]||{{Dunno}} | ||
| {{Dunno}} | | {{Dunno}}||{{Dunno}} | ||
| {{Dunno}} | |||
| {{Dunno}} | |||
| {{Dunno}} | | {{Dunno}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| Line 331: | Line 326: | ||
|- | |- | ||
| rowspan="6" |Post-processing | | rowspan="6" |Post-processing | ||
| | |{{Enhancements/Post-processing/AI-powered filter compatible}}||{{Dunno}} | ||
| {{Dunno}} | | {{Dunno}}||{{Dunno}} | ||
| {{Dunno}} | |||
| {{Dunno}} | |||
| {{Dunno}} | | {{Dunno}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| Line 340: | Line 333: | ||
| {{Dunno}} | | {{Dunno}} | ||
|- | |- | ||
| [[ | |{{Enhancements/Post-processing/Filters}}||{{Dunno}} | ||
| {{~}}< | | {{~}}<br><small>Android Studio emulator [https://developer.android.com/studio/run/managing-avds#skins supports lots of device frame and custom skin] (similarly 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.</small>||{{~}}<br><small>Similarly to Android Studio, it has device skin capability for better immersion but it's exclusive to users with license registration.</small> | ||
| {{Na}} | | {{Na}} | ||
| {{Na}} | | {{Na}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| {{Na}} | | {{Na}} | ||
|- | |- | ||
|[[ | |[[High dynamic range#Inverse tone mapping|Inverse tone mapping compatible]]||{{Dunno}} | ||
| {{Dunno}} | | {{Dunno}}||{{Dunno}} | ||
| {{Dunno}} | |||
| {{Dunno}} | | {{Dunno}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| {{Dunno}} | | {{Dunno}} | ||
|- | |||
|[[wikipedia:Category:Anti-aliasing_algorithms|Post-rendering anti-aliasing]] | |||
<small>(FXAA, TXAA and MLAA/SMAA)</small> | |||
| {{Dunno}} | | {{Dunno}} | ||
| | | {{Na}}||{{Na}} | ||
| | |||
| {{Na}} | |||
| {{Na}} | | {{Na}} | ||
| {{Na}} | | {{Na}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| {{Na}} | | {{Na}} | ||
|- | |||
|[[wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]] | |||
<small>(Sharp bilinear, Lanczos and [[wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 1]])</small> | |||
| {{Dunno}} | | {{Dunno}} | ||
| {{Na}}||{{Na}} | |||
| {{Na}} | | {{Na}} | ||
| {{Na}} | | {{Na}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| {{Na}} | | {{Na}} | ||
|- | |- | ||
| | |{{Enhancements/Post-processing/Shader chain}}||{{Dunno}} | ||
| {{Na}} | | {{Na}}||{{Na}} | ||
| {{Na}} | |||
| {{Na}} | | {{Na}} | ||
| {{Na}} | | {{Na}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| Line 386: | Line 373: | ||
|- | |- | ||
| rowspan="13" |Quality of life | | rowspan="13" |Quality of life | ||
|Automatic updater | |Automatic updater||{{Dunno}} | ||
| {{Dunno}} | | {{Dunno}}||{{Dunno}} | ||
| {{Dunno}} | |||
| {{Dunno}} | |||
| {{Dunno}} | | {{Dunno}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| Line 395: | Line 380: | ||
| {{Dunno}} | | {{Dunno}} | ||
|- | |- | ||
| Big Picture Mode | |Big Picture Mode||{{Dunno}} | ||
| {{Dunno}} | | {{Dunno}}||{{Dunno}} | ||
| {{Dunno}} | |||
| {{Dunno}} | |||
| {{Dunno}} | | {{Dunno}} | ||
| {{Na}} | | {{Na}} | ||
| Line 404: | Line 387: | ||
| {{Dunno}} | | {{Dunno}} | ||
|- | |- | ||
| Built-in on-screen control | |Built-in on-screen control | ||
| {{Dunno}} | <small>Simulating touch input on display via keyboard or gamepad. This QoL enhancement is crucial for lots of touch input exclusive games.</small> | ||
| {{Dunno}} | |||
| {{Dunno}} | <small>Also you can use third-party apps such as [https://github.com/Shyri/TouchMapper TouchMapper] for this.</small> | ||
|{{Dunno}} | |||
| {{Dunno}}||{{Dunno}} | |||
| {{Dunno}} | | {{Dunno}} | ||
| {{Na}} | | {{Na}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| {{Dunno}} | | {{Dunno|link=https://old.reddit.com/r/WSA/comments/z62m2v/how_do_i_remap_key_to_screen_presses_for_gaming/}} | ||
|- | |- | ||
| [[ | |[[Compatibility layer|Built-in translation layer]]||{{Dunno}} | ||
| {{Na}}< | | {{Dunno}}||{{Na}}<br><small>You need to manually install libhoudini translation layer on guest system for Genymotion. See [[compatibility layer]] for more info.</small> | ||
| {{Ya | | {{Ya|link=https://developer.android.com/games/playgames/start#playbility-architecture}} | ||
| {{Ya}} | | {{Ya}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| {{Dunno}} | | {{Dunno}} | ||
|- | |- | ||
| [[Hypervisors|Built-in, self-contained or integrated virtualization engine]] | |[[Hypervisors|Built-in, self-contained or integrated virtualization engine]] | ||
<small>Emulators that employ a self-contained hypervisor are a distinct class of virtualization solutions that integrate their own layer directly into the application package similarly to [[Computer specifications#Recommended Specifications|static linking]]. Unlike emulators that rely on third-party or host operating system (OS) features (Microsoft Hyper-V/WHPX, KVM or Intel's HAXM), these solutions are designed to be functionally independent of the host OS's virtualization stack. On Windows, this is typically achieved for Android emulation by installing a proprietary, kernel-level driver that acts as a hypervisor to manage the virtual machine, bypassing the need for pre-existing host OS'es virtualization stack/feature. This shouldn't be confused with hardware-assisted virtualization (VT-x/AMD-V).</small> | |||
| {{Dunno}} | | {{Dunno}} | ||
| {{Na}}<br/><small>< | | {{Na}}<br><small>Android Studio has Android emulator, which is [https://developer.android.com/studio/intro/update#recommended QEMU]-based device-emulation tool. Supports [https://developer.android.com/studio/run/emulator-acceleration#vm-windows-aehd AEHD] driver (although its deprecated?), OR [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.</small>||{{Na}}<br><small>It has built-in QEMU version which asks for Hyper-V ([https://docs.genymotion.com/desktop/Get_started/011_Windows_install/#hypervisor on Windows]) (it's currently in beta), otherwise you need to use "with VirtualBox" builds.</small> | ||
| {{Na}}<br><small>''Hyper-V-dependent''</small> | |||
| {{Na}}<br><small><br><small>It's uses [https://github.com/TrinityEmulator/TrinityEmulator#4-code-organization QEMU 5.0] and asks for Hyper-V or obsolete HAXM for hardware acceleration.</small> | |||
| {{Dunno}} | | {{Dunno}} | ||
| {{Na}}<br | | {{Na}}<br><small>''Hyper-V-dependent''</small> | ||
|- | |- | ||
| Command line options | |Command-line options||{{Dunno}} | ||
| {{ | | {{Dunno}}||{{Ya|link=https://docs.genymotion.com/desktop/06_GMTool/}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| {{Ya}} | | {{Ya}} | ||
| Line 440: | Line 421: | ||
| {{Dunno}} | | {{Dunno}} | ||
|- | |- | ||
| File sharing | |File sharing | ||
<small>Similar to "Shared Folder" enhancement for [[Hypervisors#Type 2 hypervisors|Type-2 hypervisors]].</small> | |||
| {{Dunno}} | | {{Dunno}} | ||
| {{Dunno}}||{{Dunno}} | |||
| {{Dunno}} | | {{Dunno}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| Line 449: | Line 430: | ||
| {{Dunno}} | | {{Dunno}} | ||
|- | |- | ||
| Multiple instances and instance manager | |Multiple instances and instance manager||{{Dunno}} | ||
| {{Dunno}} | | {{Dunno}}||{{Dunno}} | ||
| {{Na | | {{Na|link=https://www.youtube.com/watch?v=2KEaPQpfzkQ&t=422}} | ||
| {{Na}} | | {{Na}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| {{Dunno}} | | {{Dunno}} | ||
|- | |- | ||
| On-screen display | |On-screen display | ||
<small>Showcases messages, controller input state which is useful for speedrunners, performance data, active settings, and various notifications.</small> | |||
| {{Dunno}} | | {{Dunno}} | ||
| {{Dunno}}||{{Dunno}} | |||
| {{Dunno}} | | {{Dunno}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| Line 467: | Line 446: | ||
| {{Dunno}} | | {{Dunno}} | ||
|- | |- | ||
|Pause/ | |Pause/Resume emulation||{{Dunno}} | ||
| {{Dunno}} | | {{Dunno}}||{{Dunno}} | ||
| {{Dunno}} | |||
| {{Dunno}} | |||
| {{Dunno}} | | {{Dunno}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| Line 476: | Line 453: | ||
| {{Dunno}} | | {{Dunno}} | ||
|- | |- | ||
| Per-game profiles | |Per-game profiles||{{Dunno}} | ||
| {{Dunno}} | | {{Dunno}}||{{Dunno}} | ||
| {{Dunno}} | |||
| {{Dunno}} | | {{Dunno}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| {{Dunno}} | | {{Dunno}} | ||
|- | |||
|[https://www.portablefreeware.com/faq.php#portable Portable] and [https://www.portablefreeware.com/faq.php#stealth stealth] | |||
<small>Useful enhancement feature for non-personal computer use or plug-and-play scenarios. However, the software may still require the necessary [[Computer specifications#Operating System|prerequisites and dependencies]] for your operating system if it is not statically linked.</small> | |||
| {{Dunno}} | | {{Dunno}} | ||
| {{Na}}||{{Na}} | |||
| {{Na}} | |||
| {{Na}} | |||
| {{Na}} | | {{Na}} | ||
| {{Na}} | | {{Na}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| {{Na}} | | {{Na}} | ||
|- | |- | ||
| [[ | |[[Save disk space for ISOs#PlayStation 1|Streamable compression format]]||{{Dunno}} | ||
| {{Na}} | | {{Na}}||{{Na}} | ||
| {{Na}} | |||
| {{Na}} | | {{Na}} | ||
| {{Na}} | | {{Na}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| Line 504: | Line 477: | ||
|- | |- | ||
| rowspan="5" |[https://tasvideos.org/Emulatorresources/Features TAS features] | | rowspan="5" |[https://tasvideos.org/Emulatorresources/Features TAS features] | ||
|Fast | |Fast forward/Turbo speed||{{Dunno}} | ||
| {{Na}} | | {{Na}}||{{Na}} | ||
| {{Na}} | | {{Na}} | ||
| {{Na}} | | {{Na}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| {{Na}} | | {{Na}} | ||
|- | |- | ||
|[[ | |[[wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua]||{{Dunno}} | ||
| {{Dunno}} | | {{Dunno}}||{{Dunno}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| {{Na}} | | {{Na}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| {{Na}} | | {{Na}} | ||
|- | |- | ||
|[https://tasvideos.org/Movies Movie recording/playback] | |[https://tasvideos.org/Movies Movie recording/playback]||{{Dunno}} | ||
| {{Na}} | | {{Na}}||{{Na}} | ||
| {{Na}} | |||
| {{Na}} | | {{Na}} | ||
| {{Na}} | | {{Na}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| {{Na}} | | {{Na}} | ||
|- | |- | ||
|Rewind | |Rewind||{{Dunno}} | ||
| {{Na}} | | {{Na}}||{{Na}} | ||
| {{Na}} | |||
| {{Na}} | | {{Na}} | ||
| {{Na}} | | {{Na}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| {{Na}} | | {{Na}} | ||
|- | |- | ||
|Save states | |Save states||{{Dunno}} | ||
| {{Na}} | | {{Na}}||{{Na}} | ||
| {{Na}} | |||
| {{Na}} | | {{Na}} | ||
| {{Na}} | | {{Na}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| {{Na}} | | {{Na}} | ||
|- | |- | ||
| rowspan=" | | rowspan="6" |Misc. | ||
|Debug features | |||
<small>adb support, [https://developer.android.com/agi AGI support], integration with IDE etc.</small> | |||
| Debug features | |||
| {{Dunno}} | | {{Dunno}} | ||
| {{Ya}}||{{Dunno}} | |||
| {{Ya|link=https://developer.android.com/games/playgames/pg-emulator}} | |||
| {{Dunno}} | | {{Dunno}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| {{Dunno}} | | {{Dunno}} | ||
|- | |- | ||
| [[ | |[[Virtual reality#VR game room simulations|EmuVR support]] | ||
| colspan="7" | | | colspan="7" |Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores] at the moment. So there is no support. | ||
|- | |- | ||
| [[Netplay]] | |[[Netplay]]||{{Dunno}} | ||
| {{Na}}||{{Na}} | |||
| {{Na}} | | {{Na}} | ||
| {{Na}} | | {{Na}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| {{Na}} | | {{Na}} | ||
|- | |- | ||
|Rich Presence (RPC) | |Rich Presence (RPC) | ||
<small>Allows the emulator to share real-time game session details (e.g., current game title, level, boss, playtime, or custom status) with external applications. This enables features such as displaying what you're playing on your profile, inviting friends to spectate, or triggering join-in-progress functionality where supported.</small> | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}}||{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
| Line 583: | Line 541: | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
| [[ | |Screen translator | ||
| {{Dunno}} | <small>Using optical character recognition (OCR) and other techniques, this feature can provide live translation of in-game text, text-to-speech for visually impaired users, and more — either on demand or automatically.</small> | ||
| {{Dunno}} | | colspan="7" |You can use [https://docs.libretro.com/guides/ai-service/ RetroArch's AI Service] or the standalone offline [https://github.com/bquenin/interpreter bquenin's Interpreter]. | ||
| {{Dunno}} | |- | ||
|[[wikipedia:Variable_refresh_rate|Variable refresh rate]]||{{Dunno}} | |||
| {{Dunno}}||{{Dunno}} | |||
| {{Dunno}} | | {{Dunno}} | ||
| {{Dunno}} | | {{Dunno}} | ||
| Line 592: | Line 552: | ||
| {{Dunno}} | | {{Dunno}} | ||
|} | |} | ||
==Hardware features== | == Hardware features == | ||
{| | {| {{Basic table}} | ||
|+Please only include recommended emulators in this table. Do not bump or spam GitHub threads, issues, or feature request pages. | |+Please only include recommended emulators in this table. Do not bump or spam GitHub threads, issues, or feature request pages. | ||
! colspan=2 style="width:50%" | Name | ! colspan="2" style="width:50%" |Name | ||
! | !ARCVM | ||
! Google Play Games | !Android Studio | ||
! | ![https://docs.genymotion.com/desktop/04_Emulating_sensors_and_features/ Genymotion] | ||
!Google Play Games | |||
!Trinity | |||
!Waydroid | !Waydroid | ||
! | !WSA | ||
|- | |- | ||
| colspan="2" | | | colspan="2" |Android controls||{{Dunno}} | ||
|{{ | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Ya}}||{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |||
|{{Dunno}} | |||
|- | |||
| colspan="2" |Baseband||{{Dunno}} | |||
|{{Dunno}} | |||
|{{Ya}}||{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
| colspan="2" | [https://developer.android.com/ | | colspan="2" |[https://developer.android.com/training/monitoring-device-state/battery-monitoring Battery] | ||
|{{ | <small>The Battery simulation allows you to test how your application reacts with different battery charge levels and states of charge.</small> | ||
|{{Dunno}} | |||
|{{Ya|link=https://developer.android.com/studio/run/emulator-extended-controls}}||{{Ya|link=https://docs.genymotion.com/desktop/04_Emulating_sensors_and_features/#battery}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
| colspan="2" | | | colspan="2" |Biometrics||{{Dunno}} | ||
|{{Ya}} | |{{Dunno}} | ||
|{{Ya}}||{{Dunno}} | |||
|{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |||
| colspan="2" |[https://developer.android.com/develop/connectivity/bluetooth Bluetooth]||{{Dunno}} | |||
|{{Ya|link=https://stackoverflow.com/questions/22604305/how-to-use-android-emulator-for-testing-bluetooth-application}}||{{Na}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{ | |{{Na|link=https://xdaforums.com/t/looking-wsa-for-windows-11-where-bluetooth-also-works.4610551/post-88829045}} | ||
|- | |- | ||
| | | colspan="2" |Camera||{{Dunno}} | ||
| | |{{Dunno}} | ||
|{{Ya}}||{{Dunno}} | |||
|{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |||
| colspan="2" |[https://developer.android.com/media/camera/camerax Camera] and media input injection | |||
<small>With this, you can select your host webcams, microphones, videos, images or audio files as the device camera and audio input source.</small> | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Ya}}||{{Ya|link=https://docs.genymotion.com/desktop/04_Emulating_sensors_and_features/#camera-and-media-injection}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
| Line 643: | Line 618: | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
| [[ | | rowspan="2" |Connectivity | ||
|{{ | |[[wikipedia:Google_Cloud_Messaging|Google Cloud Messaging (GCM)]]||{{Dunno}} | ||
|{{ | |{{Dunno}}||{{Dunno}} | ||
|{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |||
|[[Preservation projects#Private Platform Servers|Google Play Games]] | |||
[[Preservation projects#Private Platform Servers|Google Play Services]] | |||
<small>Achievements, Challenges, Leaderboards etc.</small> | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Ya}}||{{Ya|link=https://docs.genymotion.com/desktop/04_Emulating_sensors_and_features/#open-gapps}} | |||
|{{Ya}} | |{{Ya}} | ||
|{{Dunno}} | |||
|{{Dunno}} | |||
|{{Dunno}} | |||
|- | |- | ||
| colspan="2" | | | colspan="2" |[https://developer.android.com/develop/ui/views/touch-and-input/game-controllers Controllers]||{{Dunno}} | ||
|{{Ya}} | |{{Dunno}}||{{Ya}} | ||
|{{Ya|link=https://blog.google/products/google-play/google-play-games-beta-october-2023-update/}} | |||
|{{Na|link=https://github.com/TrinityEmulator/TrinityEmulator/issues/3}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Ya|link=https://learn.microsoft.com/en-us/windows/android/wsa/release-notes#build-22084000040}} | |||
|- | |||
| colspan="2" |Disk I/O | |||
<small>Similarly to [[PC emulator comparisons#Storage|disk storage emulation on PC emulators]], this allows you to emulate devices with slow internal storage.</small> | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}}||{{Ya|link=https://docs.genymotion.com/desktop/04_Emulating_sensors_and_features/#disk-io}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
| Line 661: | Line 653: | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
| colspan="2" | | | colspan="2" |External storage||{{Dunno}} | ||
|{{ | |{{Dunno}} | ||
|{{Ya}} | |{{Ya}}||{{Dunno}} | ||
|{{ | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
| colspan="2" | [https://developer.android.com/games/optimize/adpf/gamemode/about-API-and-interventions Game Mode] | | colspan="2" |[https://developer.android.com/games/optimize/adpf/gamemode/about-API-and-interventions Game Mode]||{{Dunno}} | ||
|{{Dunno}}||{{Dunno}} | |||
|{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |||
| colspan="2" |[https://developer.android.com/reference/android/location/Location GPS]||{{Dunno}} | |||
|{{Ya|link=https://developer.android.com/studio/run/emulator-extended-controls}}||{{Ya|link=https://docs.genymotion.com/desktop/04_Emulating_sensors_and_features/#gps}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
| Line 679: | Line 674: | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
| colspan="2" | [[ | | colspan="2" |[[wikipedia:Android_(operating_system)#Home_screen|Home screen]] | ||
<small>This shouldn't be confused with emulator frontend/GUI.</small> | |||
|{{Dunno}} | |||
|{{Ya}}||{{Ya}} | |||
|{{Dunno}}<br><small>[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] ({{YouTubeVideoTime|2KEaPQpfzkQ|408|Demonstration}}). It's unclear whether this app directly emulates the native home screen or provides an alternative UI/UX with limited features.</small> | |||
|{{Ya}} | |{{Ya}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Na}} | |{{Na}} | ||
|- | |||
| colspan="2" |[https://developer.android.com/develop/ui/views/touch-and-input/keyboard-input Keyboard]||{{Dunno}} | |||
|{{Ya}}||{{Dunno}} | |||
|{{Ya|link=https://www.youtube.com/watch?v=2KEaPQpfzkQ&t=153}} | |||
|{{Ya}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
| colspan="2" | | | colspan="2" |Microphone||{{Dunno}} | ||
|{{Dunno}} | |||
|{{Ya}}||{{Dunno}} | |||
|{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Ya}} | |{{Dunno}} | ||
|- | |||
| colspan="2" |[https://developer.android.com/games/playgames/input-mouse Mouse]||{{Dunno}} | |||
|{{Dunno}}||{{Ya}} | |||
|{{Ya|link=https://www.youtube.com/watch?v=2KEaPQpfzkQ&t=153}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
| colspan="2" | [https://developer.android.com/ | | colspan="2" |[https://developer.android.com/jetpack/compose/touch-input/pointer-input/multi-touch Multi-touch]||{{Dunno}} | ||
|{{ | |{{Dunno}}||{{Ya|link=https://docs.genymotion.com/desktop/03_Virtual_devices/#touchscreen}} | ||
|{{Dunno|link=https://support.google.com/googleplay/thread/249633800/lack-of-multi-touch-support-on-play-games-beta?hl=en}} | |||
|{{Dunno}} | |||
|{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|- | |||
| colspan="2" |Navigation buttons||{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Ya}}||{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
| | | rowspan="2" |Network | ||
|{{ | |Mobile data||{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Ya}}||{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |||
|[https://developer.android.com/develop/connectivity/wifi/wifi-scan Wi-Fi]||{{Dunno}} | |||
|{{Ya|link=https://developer.android.com/studio/run/emulator-wifi}}||{{Ya}} | |||
|{{Ya}} | |||
|{{Ya}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Ya}} | |{{Ya}} | ||
|- | |- | ||
| colspan="2" | [https://developer.android.com/games/playgames/ | | colspan="2" |[https://developer.android.com/develop/ui/views/notifications Notifications]||{{Dunno}} | ||
|{{Ya}}||{{Ya}} | |||
| {{~|link=https://developer.android.com/games/playgames/faq#q_can_we_use_push_notifications_for_google_play_games}} | |||
|{{Ya}} | |{{Ya}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Ya|link=https://learn.microsoft.com/en-us/windows/android/wsa/release-notes#build-220440000190}} | |||
|- | |||
| colspan="2" |Phone||{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Ya}}||{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
| colspan="2" | | | colspan="2" |Power button||{{Dunno}} | ||
|{{Ya}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Ya}}||{{Dunno}} | ||
|{{Dunno}} | |||
|{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|- | |||
| colspan="2" |Screen rotation||{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Ya}}||{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
| | | rowspan="3" |[[List of console games that support motion controls#Android Emulation|Sensors]] | ||
|{{Ya}} | |Accelerometer||{{Dunno}} | ||
| {{ | |{{Dunno}} | ||
|{{Ya | |{{Ya}}||{{Dunno}} | ||
|{{Dunno}} | |||
|{{Dunno}} | |||
|{{Dunno}} | |||
|- | |||
|Gyroscope||{{Dunno}} | |||
|{{Ya|link=https://developer.android.com/studio/run/emulator-extended-controls}}||{{Ya|link=https://www.genymotion.com/blog/genymotion-desktop-3-8-0/}} | |||
|{{Dunno}} | |||
|{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
| | |Magnetometer||{{Dunno}} | ||
|{{Dunno}} | |||
|{{Ya}}||{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
| colspan="2" | [https://developer.android.com/ | | colspan="2" |[https://developer.android.com/studio/run/emulator-install-add-files Sideloading/Installing]||{{Dunno}} | ||
|{{Ya}} | |{{Ya}}||{{Dunno}} | ||
| {{~}}<br><small>Exclusive to developer builds, {{YouTubeVideoTime|2KEaPQpfzkQ|280|Demonstration}}. To use sideloading in the developer builds, you need to use adb install "AppName.apk" command in the Command Prompt.</small> | |||
|{{Ya}}<br><small>[https://github.com/TrinityEmulator/TrinityEmulator/wiki/Advanced-Usages#adb-connection Use adb to connect] then use adb install command.</small> | |||
|{{Dunno}} | |{{Dunno}} | ||
| {{~|link=https://github.com/Simizfo/WSATools#requisites}} | |||
|- | |||
| colspan="2" |[https://developer.android.com/develop/connectivity/usb USB and USB passthrough]||{{Dunno}} | |||
|{{Ya}}||{{Ya}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
| colspan="2" | | | colspan="2" |Volume buttons||{{Dunno}} | ||
|{{ | |{{Dunno}} | ||
|{{Ya}} | |{{Ya}}||{{Dunno}} | ||
|{{ | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
! colspan=9 | [[ | ! colspan="9" |[[wikipedia:Android_version_history|OS version]] | ||
|- | |- | ||
| colspan="2" | [[ | | colspan="2" |[[wikipedia:Android_version_history#Android_7.1_Nougat|7.1 Nougat]] (API 25) | ||
|{{Ya}}<ref | <small>New JIT Compiler, making for 75 percent faster app installations and a 50 percent reduction in compiled code size.</small> | ||
<small>JIT compiler with code profiling to ART, which lets it constantly improve the performance of Android apps as they run.</small> | |||
<small>Vulkan 3D rendering API support.</small> | |||
|{{Dunno}} | |||
|{{Ya}}||{{Ya}}<ref name="GenymotionOSsupport" group="note" /> | |||
|{{Na}} | |{{Na}} | ||
|{{Na}} | |{{Na}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Na}} | |{{Na}} | ||
|- | |||
| colspan="2" |[[wikipedia:Android_version_history#Android_4.4_KitKat|KitKat]] (API 19) | |||
<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.</small> | |||
<small>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]'''.</small> | |||
<small>Android 5.0 (Lollipop) (API 21) introduced the "[[wikipedia:Android_Runtime|Android RunTime]]" (ART), [[wikipedia:Android_Runtime#History|replacing "Dalvik" entirely]].</small> | |||
<small>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> | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Ya}} | |{{Ya}}||{{Na}}<ref name="GenymotionOSsupport" group="note">[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> | ||
| | |||
|{{Na}}<ref | |||
|{{Na}} | |{{Na}} | ||
|{{Na}} | |{{Na}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Na}} | |{{Na}} | ||
|- | |||
| colspan="2" |[[wikipedia:Android_version_history#Android_12|Snow Cone]] (API 31) | |||
<small>Android Runtime (ART) module added to the updatable core OS components via Google Play, added functionality to existing modules.</small> | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Ya}}||{{Ya}}<ref name="GenymotionOSsupport" group="note" /> | |||
|{{Ya}} | |{{Ya}} | ||
| | |{{Na}}<br><small>It uses android-x86 9.0 64-bit.</small> | ||
|{{Dunno}} | |||
|{{ | |||
|{{Na}} | |{{Na}} | ||
|- | |- | ||
! colspan="9" | [https://developer.android.com/ndk/guides/abis Supported ABIs] | ! colspan="9" |[https://developer.android.com/ndk/guides/abis Supported ABIs] | ||
|- | |- | ||
| colspan="2" | [https://developer.android.com/ndk/guides/abis#arm64-v8a arm64-v8a] | | colspan="2" |[https://developer.android.com/ndk/guides/abis#arm64-v8a arm64-v8a]||{{Dunno}} | ||
|{{Dunno}} | |{{Ya}}||{{Dunno}} | ||
|{{Ya}}<ref | |{{Ya}}<ref name="GooglePlayGamesABI">[https://developer.android.com/games/playgames/start#playbility-architecture Google Play Games ABI Architecture support].</ref> | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
| colspan="2" | [https://web.archive.org/web/20180507120451/https://developer.android.com/ndk/guides/abis#sa armeabi] | | colspan="2" |[https://web.archive.org/web/20180507120451/https://developer.android.com/ndk/guides/abis#sa armeabi] | ||
| colspan="7" | 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]. | | colspan="7" |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]. | ||
But [[Compatibility layer|libhoudini translation layer]] still supports it? | |||
|- | |- | ||
| colspan="2" | [https://developer.android.com/ndk/guides/abis#v7a armeabi-v7a] | | colspan="2" |[https://developer.android.com/ndk/guides/abis#v7a armeabi-v7a] | ||
<small>Supporting armeabi-v7a ABI is crucial for emulators due to compatibility and [[Preservation projects|preservation]] reasons.</small> | |||
<small>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> | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Ya}}||{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
| colspan=2 | [https://developer.android.com/ndk/guides/abis#x86 x86] | | colspan="2" |[https://developer.android.com/ndk/guides/abis#x86 x86]||{{Dunno}} | ||
|{{Dunno}} | |{{Ya}}||{{Dunno}} | ||
|{{Ya}}<ref | |{{Ya}}<ref name="GooglePlayGamesABI" /> | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |||
| colspan="2" |[https://developer.android.com/ndk/guides/abis#86-64 x86_64]||{{Dunno}} | |||
|{{Ya|link=https://developer.android.com/games/optimize/64-bit#64-bit-emulator}}||{{Dunno}} | |||
|{{Ya}}<ref name="GooglePlayGamesABI" /> | |||
|{{Ya}} | |{{Ya}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
! colspan="9" | [https://developer.android.com/develop/ui/views/graphics/opengl/about-opengl Supported APIs] | ! colspan="9" |[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] | | colspan="2" |[https://registry.khronos.org/OpenGL/index_es.php#specs11 OpenGL ES 1.x] | ||
<small>Supporting OpenGL ES 1.x is crucial for emulators due to compatibility and [[Preservation projects|preservation]] reasons.</small> | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Ya}}||{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
| colspan=2 | [https://registry.khronos.org/OpenGL/index_es.php#specs31 OpenGL ES 3.x] | | colspan="2" |[https://registry.khronos.org/OpenGL/index_es.php#specs31 OpenGL ES 3.x] | ||
<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> | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Ya}}||{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Ya|link=https://www.youtube.com/watch?v=tfq4MsxaHZw&t=923}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
| colspan=2 | [https://registry.khronos.org/vulkan/#apispecs Vulkan 1.3] | | colspan="2" |[https://registry.khronos.org/vulkan/#apispecs Vulkan 1.3] | ||
<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].</small> | |||
<small>Vulkan releases are backward compatible with each other.</small> | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}}||{{Dunno}} | |||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
| Line 868: | Line 912: | ||
|{{Dunno}} | |{{Dunno}} | ||
|} | |} | ||
==PlayStation Mobile== | == PlayStation Mobile == | ||
{{Main|PlayStation Mobile}} | {{Main|PlayStation Mobile}} | ||
==Android consoles== | == 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. | 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: [[ | '''Note: [[Smart TV emulators|Smart TVs and smart 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 that kind of devices that can play video games into this section.''' | ||
{| | {| {{Emulator table}} | ||
!Name | !Name | ||
![[MAME]] support | ![[MAME]] support | ||
| Line 956: | Line 999: | ||
|None | |None | ||
|None | |None | ||
|Released | |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 | |Nvidia Shield TV | ||
| Line 972: | Line 1,015: | ||
|None | |None | ||
|A tiny console the size of a USB thumb drive. | |A tiny console the size of a USB thumb drive. | ||
|- | |- | ||
|Phoenix One | |Phoenix One | ||
| Line 1,023: | Line 1,061: | ||
|None | |None | ||
| | | | ||
|} | |} | ||
==GM Android-based== | == GM Android-based == | ||
Some General Motors cars are equipped with an in-car entertainment system running on Android. | Some General Motors cars are equipped with an in-car entertainment system running on Android. | ||
[https://developer.gm.com/app-gallery App Gallery]. | [https://developer.gm.com/app-gallery App Gallery]. | ||
== | == Android-specific challenges and limitations == | ||
===Google apps=== | |||
=== 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]. | 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=== | === 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. | 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=== | === 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- | 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=== | === 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. | 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. | 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=== | === 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. | 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. | ||
===Google Chrome situation=== | === Google Chrome situation === | ||
:Can open APK files using the ARC Welder extension, 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 [https://www.reddit.com/r/chromeapks dedicated subreddit]. Google has announced [http://arstechnica.com/gadgets/2016/05/the-play-store-comes-to-chrome-os-but-not-the-way-we-were-expecting/ Play Store for Chrome OS], but it works on a different "container" technology that is embedded in the Chrome OS. In addition, Google has [http://blog.chromium.org/2016/08/from-chrome-apps-to-web.html discontinued Google Chrome apps on PC]. | |||
: Can open APK files using the ARC Welder extension, 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 [https://www.reddit.com/r/chromeapks dedicated subreddit]. Google has announced [http://arstechnica.com/gadgets/2016/05/the-play-store-comes-to-chrome-os-but-not-the-way-we-were-expecting/ Play Store for Chrome OS], but it works on a different "container" technology that is embedded in the Chrome OS. In addition, Google has [http://blog.chromium.org/2016/08/from-chrome-apps-to-web.html discontinued Google Chrome apps on PC]. | |||
=== Emulator-Specific Issues === | |||
==== BlueStacks ==== | |||
* '''Can't root the device:''' | * '''Can't root the device:''' | ||
| Line 1,066: | Line 1,107: | ||
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". | 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==== | ==== Andyroid ==== | ||
* '''Unable To Launch VM Process:''' | * '''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. | 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==== | ==== Android-x86 ==== | ||
* '''3D Support is broken on VMWare when using newer kernels:''' | * '''3D Support is broken on VMWare when using newer kernels:''' | ||
| Line 1,080: | Line 1,123: | ||
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) | ||
====KMRE==== | ==== KMRE ==== | ||
* '''Installing third-party apks''' | * '''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>. | 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>. | ||
| Line 1,089: | Line 1,134: | ||
* '''Receiving a notice that the mobile environment is not running while trying to install third-party apps''' | * '''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. | 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''' | * '''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. | 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''' | * '''Accessing files of Android''' | ||
Files in <code>/storage/emulated/0</code> are mapped to <code>/var/lib/kmre/data/kmre-1000-${LOGNAME}</code>. | Files in <code>/storage/emulated/0</code> are mapped to <code>/var/lib/kmre/data/kmre-1000-${LOGNAME}</code>. | ||
| Line 1,100: | Line 1,149: | ||
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>. | 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>. | ||
==See also== | == See also == | ||
* [[Cellphone emulators]] - Information on emulators for various feature phone/non-smartphone platforms. | * [[Cellphone emulators]] - Information on emulators for various feature phone/non-smartphone platforms. | ||
* [[Emulators on Android]] - Various emulators on Android OS | * [[Emulators on Android]] - Various emulators on Android OS | ||
==External links== | == Notes == | ||
*[[ | {{Notelist|group=note}} | ||
*[[ | |||
*[https://developer.android.com/ Android Developer] | == References == | ||
*[https://xdaforums.com/t/list-of-devices-armv7-armv6-armv5.1596800/ XDAForums - List of devices: ARMv7, ARMv6, ARMv5] | {{Reflist}} | ||
*[[ | |||
== External links == | |||
* [[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]] | |||
---- | ---- | ||
{{NEL}} | {{NEL}} | ||
[[Category:Android| ]] | [[Category:Android| ]] | ||
[[Category:Various emulation]] | [[Category:Various emulation]] | ||