Changes

Jump to navigation Jump to search

Android emulators

472 bytes added, 25 January
no edit summary
;Before diving in,
;*Know that each row under 'VM' specifies the which [[Hypervisor]] used for running Android operating system.
;*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 3d acceleration/virtual gpu adapter). 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]] section 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.
! scope="col"|Platform(s)
! scope="col"|Version
! scope="col"|[[Hypervisors|VM]]
! scope="col"|[[#Hardware_features|Hardware features]]
! scope="col"|[[#Enhancements|Enhancements]]
! scope="col"|[[Recommended Emulators|Recommended]]
|-
! colspan="1110"|PC / x86
|-
|[[BlueStacks]]
|align=left|{{Icon|Windows|macOS}}
|[https://support.bluestacks.com/hc/en-us/sections/360012290292-Release-Notes {{BlueStacksVer}}]
|QEMU (before v2.5)<br/>VirtualBox (after v2.5)<br/>Hyper-V (for Hyper-V build)
|{{~}}
|{{~}}
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://www.genymotion.com/download/ {{GenymotionVer}}]
|VirtualBox
|{{~}}
|{{~}}
|align=left|{{Icon|Windows}}
|[https://play.google.com/googleplaygames#section-system-requirements Beta]<br/>[https://developer.android.com/games/playgames/emulator Developer]
|[[Hypervisors|Hyper-V]]
|{{~}}
|{{~}}
|align=left|{{Icon|Windows}}
|Comes with Windows store<br/>[https://github.com/cinit/WSAPatch WSA patch for Windows 10]
|[[Hypervisors|Hyper-V]]
|{{~}}
|{{?}}
|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>
|VirtualBox
|?
|?
|align=left|{{Icon|Windows}}
|[https://en.ldplayer.net/ 4.0.50.3]
|VirtualBox
|?
|?
|align=left|{{Icon|Windows}}
|[https://www.bignox.com 7.0.2.7]
|VirtualBox
|?
|?
|align=left|{{Icon|Windows}}
|[https://www.memuplay.com/ {{MEmuVer}}]
|VirtualBox
|?
|?
|align=left|{{Icon|Windows|Linux}}
|[https://developer.android.com/studio/ 4.0]
|[https://developer.android.com/studio/run/emulator-acceleration#choose-windows-hypervisor Hyper-V for Windows?]<br/>[https://developer.android.com/studio/run/emulator-acceleration#vm-linux KVM for Linux?]
|?
|?
! Google Play Games
! WSA
! Android Studio
! [[Recommended_linux_distros#Emulation_focused|BlissOS]]
! [[Recommended_linux_distros#Emulation_focused|Android-x86]]
| {{?}}<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>
| {{✗}}
| {{✓}}
| {{✓}}
| {{✓}}
| {{?}}
| {{✓}}[https://learn.microsoft.com/en-us/windows/android/wsa/release-notes#build-22084000040 *]
| {{?}}
| {{✓}}[https://tested.blissos.org/hardware/inputs/gamepad/ *]
| {{?}}
| {{✓}}
| {{✓}}[https://youtu.be/2KEaPQpfzkQ?t=153 *]
| {{?}}
| {{?}}
| {{?}}
| {{✓}}
| {{✓}}[https://youtu.be/2KEaPQpfzkQ?t=153 *]
| {{?}}
| {{?}}
| {{?}}
| {{✓}}
| {{N}}[https://old.reddit.com/r/BlueStacks/comments/z54s8p/usb_devices_in_bluestacks/iy2gtgb/ *]
| {{?}}
| {{?}}
| {{?}}
| {{~}}[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 *]
| {{?}}
| {{✓}}
| {{✓}}
| {{~}}<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>
| {{~}}[https://github.com/Simizfo/WSATools#requisites *]
| {{?}}
| {{✓}}
| {{✓}}
| {{✓}}
| {{✓}}
| {{?}}
| {{✓}}
| {{✓}}
| {{?}}
| {{N}}[https://xdaforums.com/t/looking-wsa-for-windows-11-where-bluetooth-also-works.4610551/post-88829045 *]
| {{?}}
| {{✓}}[https://tested.blissos.org/hardware/connectivity/bluetooth/ *]
| {{?}}
| {{?}}
| {{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://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 *]
|-
! colspan=8 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}}
| {{N}}
| {{?}}
| {{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>
| {{N}}
| {{N}}
| {{?}}
| {{N}}<ref group=N4 name=BlissOSsupport></ref>
| {{Y}}<ref group=N4 name=Androidx86OSsupport></ref>
| {{Y}}
| {{N}}
| {{?}}
| {{Y}}<ref group=N4 name=BlissOSsupport></ref>
| {{N}}<ref group=N4 name=Androidx86OSsupport></ref>
|-
! colspan=8 9 | [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=6 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].<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}}<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}}<ref group=N4 name=BlueStacksABI></ref>
|{{Y}}<ref group=N4 name=GooglePlayGamesABI></ref>
|?
|?
|?
|{{Y}}<ref group=N4 name=BlueStacksABI></ref>
|{{Y}}<ref group=N4 name=GooglePlayGamesABI></ref>
|?
|?
|?
|?
|-
! colspan=8 9 | [https://developer.android.com/develop/ui/views/graphics/opengl/about-opengl Supported APIs]
|-
| colspan=2 | [https://registry.khronos.org/OpenGL/index_es.php#specs10 OpenGL ES 1.0]<br/><small>Supporting OpenGL ES 1.x is crucial for emulators due to compatibility and [[Preservation_projects|preservation]] reasons.</small>
|?
|?
|?
|-
| colspan=2 | [https://registry.khronos.org/OpenGL/index_es.php#specs31 OpenGL ES 3.1]<br/><small>The OpenGL ES 3.x API is backwards-compatible with the 2.x API which is crucial for emulators due to compatibility and [[Preservation_projects|preservation]] reasons..</small>
|?
|?
|?
|-
| colspan=2 | [https://registry.khronos.org/vulkan/#vulkan1.1 Vulkan 1.1]<br/><small>It's possible to use Vulkan 1.1 thanks to [https://developer.android.com/ndk/guides/graphics/android-baseline-profile Android Baseline 2022 profile].</small>
|?
|?
|?
! Google Play Games
! WSA
! Android Studio
! [[Recommended_linux_distros#Emulation_focused|BlissOS]]
! [[Recommended_linux_distros#Emulation_focused|Android-x86]]
|rowspan=4 | Post-Processing
| [[Shader_Presets|Shader Chain]]
| {{✗}}
| {{✗}}
| {{✗}}
|-
| [[Shaders_and_filters|Filters]]
| {{✗}}
| {{✗}}
| {{✗}}
|-
| [[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 FSR 1)</small>
| {{✗}}
| {{✗}}
| {{✗}}
| {{?}}
| {{✗}}
| {{?}}
| {{?}}
| {{?}}
|-
| Rewind
| {{✗}}
| {{✗}}
| {{✗}}
|-
| Fast-Forward/Turbo Speed
| {{✗}}
| {{✗}}
| {{✗}}
|-
| Savestates
| {{✗}}
| {{✗}}
| {{✗}}
|-
| [https://tasvideos.org/Movies Movie recording/playback]
| {{✗}}
| {{✗}}
| {{✗}}
| {{✗}}
|-
| rowspan=9 10 | Quality of life
| [[Save_disk_space_for_ISOs#PlayStation_1|Streamable compression format]]
| {{✗}}
| {{✗}}
| {{✗}}
| {{?}}
| {{Y}}[https://support.bluestacks.com/hc/en-us/articles/360055522292-How-to-use-the-Game-controls-menu-on-BlueStacks-5 *]
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{Y}}[https://old.reddit.com/r/BlueStacks/comments/163yg7p/command_line_options/ *]
| {{?}}
| {{?}}
| {{?}}
|-
| On-Screen Display<br/><small>Showcases messages, controller input state which is useful for speedrunners, performance data, active settings, and various notifications.</small>
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}[https://old.reddit.com/r/WSA/comments/z62m2v/how_do_i_remap_key_to_screen_presses_for_gaming/ *]
| {{?}}
| {{?}}
| {{?}}
| {{✓}}
| {{✓}}[https://developer.android.com/games/playgames/start#playbility-architecture *]
| {{?}}
| {{?}}
| {{Y}}<ref group=N3>BlissOS supports out-of-package translation layer [https://blissos.org/ (See 'Bliss OS Variations->Native-bridge' section)][https://docs.blissos.org/knowledgebase/frequently-asked-questions/hardware-compatibility 2].</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>QEMU (before v2.5)<br/>VirtualBox (after v2.5)<br/>Hyper-V (for Hyper-V build)</small>
| {{Y}}<br/><small>Hyper-V</small>
| {{Y}}<br/><small>Hyper-V</small>
| {{Y}}<br/><small>[https://developer.android.com/studio/run/emulator-acceleration#choose-windows-hypervisor Hyper-V for Windows?]<br/>[https://developer.android.com/studio/run/emulator-acceleration#vm-linux KVM for Linux?]</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
| {{?}}
| {{?}}
| {{?}}
| {{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 *]
| {{?}}
| {{?}}
| {{?}}
| {{Y}}[https://developer.android.com/games/playgames/pg-emulator *]
| {{?}}
| {{Y}}
| {{?}}
| {{?}}
10,858
edits

Navigation menu