前言

仍在使用Windows的时候,我使用网易uu模拟器来游玩一些手机游戏,但是在切换到linux后,我发现虽然Android基于linux内核修改而来,但是linux上却不像Windows那样有着众多开箱即用的「安卓模拟器」,但是在linux上只要你愿意折腾,你还是能够通过安装各种开源组件来达到模拟器效果的,下面是一些我收集而来的关于安卓模拟器的开源软件

Android-x86虚拟机

Android-x86虚拟机发源已久,它能够安装到实机和虚拟机上。
特性:

  • 授权条款:Apache
  • 几乎是开源软件组成的解决方案,没有广告
  • Android-x86是完整系统,包括Android7~andro12
  • 支持ARM到x86的转译,支持更多的游戏
  • 不用直通GPU也能用VirGL达到3D硬件加速
  • 有多开潜力
  • 内建Google Play商店
  • 虚拟机后端可以选用QEMU/KVM、VirtualBox、VMware
  • 可以用ADB除错
  • 使用Scrcpy解决触控操作

Waydroid

Anbox基本上已经停止开发了,Waydroid取而代之。

Waydroid源自Canonical开发的Anbox,採用LXC容器技术,Android容器与Linux共用核心。开发团队同时也负责开发BlissOS。
特色:

  • 授权条款:GPLv3
  • 支援Android APP视窗化操作
  • 与Linux系统共用Android剪贴板,开发团队试图让Waydroid整合至Linux,宛如原生应用一般的操作体验,就像Microsoft的WSA那样。
  • 内建Google Play商店
  • 提供x86和ARM的映像档,因此可以装在ARM架构的Linux装置(如Raspberry Pi、PinePhone),使其支援Android APP。
  • 跑Waydroid需要Wayland显示协定
  • 不支援Nvidia显示卡
  • Waydroid不方便多开,一台电脑只能安装一个Android版本

ReDroid

透过Docker容器执行Android容器,再用Scrcpy连线到桌面。开发者原意是给伺服器架设云手机之用,但桌面用户亦可以参考此方案。
特色:

  • 授权条款:Apache
  • 提供x86和ARM架构的映像档
  • 支援GPU硬体加速
  • 提供ARM转译器
  • Google Play商店要自己装
  • Docker容器的特性使其能够快速部署在伺服器上,要多开是有可能的

Android Studio的AVD模拟器

Google官方开发的跨平台Android模拟器,属专有软件。

特色:

  • 授权条款:专有软体
  • 主要用于开发Android APP之用,相对其他方案来说比较成熟。
  • 可以使用ADB和Root
  • 可模拟多款手机型号,技术上来说可以多开
  • 手机模拟器内建Google Play、ARM转译器
  • 支援KVM和GPU硬体加速
  • Android Studio执行非常吃资源

Genymotion模拟器

跨平台的商业Android模拟器。

特色:

  • 授权条款:专有软体
  • 安装起来最无脑
  • 执行时依赖QEMU/KVM或VirtualBox
  • 提供各种手机机型模拟
  • 提供快捷的按键操作,方便截图、录影、模拟手势
  • 内建ARM转译器
  • 需要注册才能使用
  • 免费版的萤幕上会出现浮水印,妨碍使用,需要购买使用授权

就现状而言,上诉各个方案各有优缺点
Android-x86最稳定但安装难度高,NVIDIA显卡支持度差
Waydroid跨架构省资源,但也不支持NVIDIA显卡
ReDroid支持大部分显卡,但Google框架需要自己安装。并且你还需要懂一些Scrcpy和ADB指令,才能让安卓APP跑起来
Genymotion安装最简单