Changes

Jump to navigation Jump to search

Android emulators

2,620 bytes added, 5 May
m
Comparisons
|emulated = {{✓}}
}}
 
:''This page is about software that emulates Android on other hardware, like desktops.''{{for|emulators that run on Android|Emulators on Android}}
However, the Linux kernel is flexible enough that it can be emulated well, unlike iOS, older cell phone models, and older Japanese Galapagos mobile phones. While Android natively supports mice<ref group=N>If you have an Android device, you can confirm this by connecting a Bluetooth or USB mouse via a USB adapter.</ref>, most apps expect users to have a touchscreen, so Android emulators will usually default to emulating touchscreen presses like [[Nintendo DS emulators|DS emulation]] (though it can be less than ideal in many cases). The host's keyboard may often emulate the button controller add-ons, and some emulators support [[Xbox 360 emulators|Xbox 360]] controllers with some more tweaks.
 
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.
<references group=N/>
==Emulators==
;Before diving in,
;*To run Android apps on your computer, most of these emulators employ a two-step approach. First, they set up a virtual environment using [[Hypervisors|hypervisor]] (and of course support for [[Wikipedia:X86_virtualization#Hardware-assisted_virtualization|hardware assisting virtualization]] such as vt-x/amd-v and virtual gpu adapter such as [https://docs.mesa3d.org/drivers/virgl.html VirGL]). Then, they use [[Recommended_linux_distros#Emulation_focused|custom Android-x86 images]] and translation layer such as "[[Compatibility_layer|libhoudini or libndk or Intel BT]]" to convert instructions from ARM processors (used in phones) to work on your computer's x86 architecture. See [[#Hardware features]] supported ABI, API sections and [[#Enhancements]] built-in translation layer and VM columns for more information.
;*[[Hypervisors|Hardware-assisted virtualization]] feature must be turned from your BIOS for most of these methods due to performance reasons.
;*You need to turn off Hyper-V from Windows Feature panel if [[Hypervisors|Type-2 hypervisor]] used by the emulator due to [[Hypervisors#Hyper-V_feature_conflict_issue|conflict issue]]. Having said that some emulators like BlueStacks provide special Hyper-V build for prevent this issue. Recently, with [https://support.bluestacks.com/hc/en-us/articles/22561951043981-BlueStacks-5-20-Release-Notes#01HMGBJDK8G7J7S9C0G5R9SBVR BlueStacks 5 version 5.20, you can now run BlueStacks with Hyper-V enabled] including all instances such as Nougat 32-bit, which will run as intended and no additional changes required. ;*There are also [[compatibility layers]] such as Waydroid and [[Anbox]] for running android applications on ARM and x86 devices but these projects kinda negligible due to their compatibility levels.;*Tons of bloated, obsolete or non-active other Android "emulatoremulators" exists there but we're not gonna list them, see [https://emulation.gametechwiki.com/index.php?title=Android_emulators&diff=66635&oldid=66634#Emulators this page] for that.;*If you already have an Android device, we recommend using a mirroring application like "[https://github.com/Genymobile/scrcpy scrcpy]" instead of these "emulators".<div style="maxoverflow-x:auto;width:100%; overflow:auto;">{| class="wikitable" style="text-align:center;width:100%"
|-
! scope="col"|Name
! scope="col"|[[Recommended Emulators|Recommended]]
|-
! colspan="10"|PC / x86
|-
|[[Genymotion]]
|?
|{{~}}[https://learn.microsoft.com/en-us/windows/android/wsa/ *] ||{{~}}
|-
|[https://waydro.id/index.html Waydroid]
|align=left|{{Icon|Linux}}
|[https://waydro.id/#install git]<br />[https://github.com/casualsnek/waydroid_script Extras script]
|{{✗}}
|{{✗}}
|?
|{{✓}} ||{{✓}} ||{{~}}
|-
|[https://trinityemulator.github.io/ Trinity]
|?
|<span title="Source-available"><sup>{{~}}</sup></span> ||{{✓}} ||{{~}}
|-
|[[Anbox]]
|align=left|{{Icon|Linux}}
|[https://docs.anbox.io/userguide/install.html git]
|{{✗}}
|{{✗}}
|?
|{{✓}} ||{{✗}} ||{{✗}}
|-
|[[BlueStacks]]
|{{~}}
|[https://support.bluestacks.com/hc/en-us/articles/4413818315789-Games-playable-on-different-Android-versions-on-BlueStacks-5 ?]
|{{✗}} ||{{✓}} ||{{✗}}<ref group=N2 name=Bloatware>These emulators are closed-source, and while they're distributed for free, their devs look for roundabout ways to monetize them. '''Since these emulators closed-source and comes with adware and bloatware applications, it's important to research the developers background before using them to ensure their trustworthiness and avoid potential privacy risks before using them'''. MuMu, LDPlayer, NoxPlayer and MEmu developed by the various Chinese software companies and BlueStacks App Player developed by American technology company called "[https://www.wikidata.org/wiki/Q4928776 BlueStacks]". Despite data security regulations existing in various regions (e.g., [[Wikipedia:General_Data_Protection_Regulation|GDPR]] in the "EU", [[Wikipedia:California_Consumer_Privacy_Act|CCPA]] in "California", and [[Wikipedia:Cybersecurity_Law_of_the_People's_Republic_of_China|Cybersecurity Law]] in "PRC"), concerns regarding government surveillance in certain countries like the "PRC" remain significant. Therefore, we recommend exercising caution when relying on closed-source software developed within such jurisdictions. Make sure to check if there are pre-installed '''extra''' apps comes with these emulators and disable or uninstall them (e.g. BlueStacks X, BlueStacks Services etc.), monitor your internet traffic and processor activity to detect any abnormal activity and block domains accordingly if the need arises or use tools like '[https://github.com/henrypp/simplewallsimplewall]'. Also avoid giving sensitive account data as much as is possible due to potential security reasons. Besides basic safety, these precautions often make impacted emulators run faster and more responsive when the adware services and apps are turned off.</ref>
|-
|MuMu
|?
|{{✗}} ||{{✓}} ||{{✗}}<ref group=N2 name=Bloatware></ref>
|-
! colspan="10"|ARM
|-
|[https://waydro.id/index.html Waydroid]
|align=left|{{Icon|Linux}}
|[https://waydro.id/#install git]<br />[https://github.com/casualsnek/waydroid_script Extras script]
|{{✗}}
|{{✗}}
|?
|{{✓}} ||{{✓}} ||{{~}}
|-
|[[Anbox]]
|align=left|{{Icon|Linux}}
|[https://docs.anbox.io/userguide/install.html git]
|{{✗}}
|{{✗}}
|?
|{{✓}} ||{{✗}} ||{{✗}}
|}
</div>
 
==Android Linux distros ([[Recommended_Linux_distros#Android|...]])==
<div style="overflow-x:auto;width:100%">
{| class="wikitable" style="text-align:center;width:100%"
|-
! scope="col"|Name
! scope="col"|Frontend
! scope="col"|Latest Version
! scope="col"|[[#Hardware_features|Hardware features]]
! scope="col"|[[#Enhancements|Enhancements]]
! scope="col"|Compatibility
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
! scope="col"|Active
! scope="col"|[[Recommended Emulators|Recommended]]
|-
! colspan="10"|x86
|-
|BlissOS
|Android-x86 fork<br/><small>includes 3 launchers: Taskbar, Quickstep and Smart Dock.</small>
|[https://blissos.org/index.html#download 16.9.x]
|{{~}}
|{{~}}
|?
|{{?}} ||{{✓}} ||{{~}}
|-
|Berry OS
|Based on Android-x86 and Bliss OS<br/><small>Mini Desktop launcher is pre-installed.</small>
|[https://github.com/yui0/berry-os/releases 2023-02-22]
|{{?}}
|{{?}}
|?
|{{?}} ||{{✓}} ||{{~}}
|-
|Android-x86
|Trebuchet (KitKat version)
|[https://www.android-x86.org 2022-03-25]
|{{~}}
|{{~}}
|?
|{{✓}} ||{{~}}<abbr title="Development activity on Android-x86 has significantly slowed down.">*</abbr> ||{{✗}}
|}
 
<references group=N2 />
;Android Studio
:Android Studio is an IDE software based on JetBrains' IntelliJ IDEA. It has built-in Android emulator with [https://developer.android.com/studio/run/managing-avds AVD (Android Virtual Device) configuration manager]. While its built-in emulator (which is literally called as [https://developer.android.com/studio/run/emulator "Android Emulator"]) may not be the fastest or software compatible (supports lots of OS image though), Android Studio shines as a developer's toolkit, offering seamless integration with coding, debugging, and testing tools for Android smartphones, [[Smart_TV_emulators#Android_TV.2FGoogle_TV|Android TVs]], [https://developer.android.com/wear Wear OS] and other Android ecosystem hardware. [https://www.youtube.com/watch?v=K1TTzkToDyE Recent updates brings new UI] aims to reduce complexity, provide easier access to essential features etc. It has built-in plugin manager which you can get Genymotion plugin for further enhance its emulation capabilities. Also you can use [https://developer.android.com/games/playgames/pg-emulator#debug adb to debugging with developer version of "Google Play Games" emulator]. Supports lots of [[#Hardware features]] and [[#Enhancements]]. See release notes for [https://developer.android.com/studio/releases/emulator built-in "Android Emulator"] and [https://androidstudio.googleblog.com/ Android Studio] for more information.
 
;Waydroid and Anbox
:These are hypervisor-based containers. They run an Android OS image inside a container. It is a similar approach to WSA and Google Play Games. They work completely differently from Wine/Proton [[compatibility layers]], which translate API calls, without a hypervisor.
: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.
;BlueStacks
==Hardware features==
''These are Android operating system features. This list only includes hardware features that can be possible to emulated through software or will be possible in the near future. Including everything would result in an endless list.''
<div style="maxoverflow-x:auto;width:100%; overflow:auto;">{|class="wikitable" style="text-align:center; vertical-align:middle;width:100%"
|- style="font-weight:bold;"
! colspan=2 | Name
! WSA
! Android Studio
! [[Recommended_linux_distrosRecommended_Linux_distros#Emulation_focusedAndroid|BlissOS]]! [[Recommended_linux_distrosRecommended_Linux_distros#Emulation_focusedAndroid|Android-x86]]
|-
| colspan=2 | [[Wikipedia:Android_(operating_system)#Home_screen|Home screen]]<br/><small>This shouldn't be confused with emulator frontend/GUI.</small>
==Enhancements==
<div style="maxoverflow-x:auto;width:100%; overflow:auto;">{|class="wikitable" style="text-align:center; vertical-align:middle;width:100%"
|- style="font-weight:bold;"
! colspan=2 | Name
| {{✗}}
|-
| [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br/><small>(Sharp bilinear, Lanczos and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 1]])</small>
| {{✗}}
| {{✗}}
'''Note: [[Smart_TV_emulators|Smart TVs and smart TV boxes/digital media players/media boxes]] (e.g. ChromeCast with Google TV, Amazon Fire TV) are not consoles, despite some of them are able to run video games. The distinction is simple: If a device is not designed with gaming as its sole or main purpose, then it's not an Android console. Please do not add [[Home_Media_Player|Home media players]] or general Android devices that can play video games, such as [[Smart_TV_emulators|Smart TVs and smart TV boxes/digital media players/media boxes]] etc. to this section.'''
<div style="maxoverflow-x:auto;width:100%; overflow:auto;">{| class="wikitable" style="text-align:center;width:100%"
! scope="col"|Name
! scope="col"|[[MAME]] support
|
|-
|[[GPD XD Devices/XD+|GPD XD / XD+]]
|None
|None
*[[Wikipedia:Comparison_of_high-definition_smartphone_displays#720p_by_1280_.28HD_ready.29|Early Android devices with OLED and HD Ready display]]
[[Category:Mobiles]|*][[Category:LinuxAndroid-based|*]]
[[Category:Android emulators|*]]
[[Category:Operating systems|*]][[Category:Mobile Operating Systems|*]][[Category:Various Emulation]]----
{{NEL}}
==Notes==
<references group=N />
10,938
edits

Navigation menu