MuMu模拟器12
仅Windows,免费,闭源,有广告,支持多开。
特性 or bug:mumu在adb连上的状态下直接关闭模拟器,运行adb devices,对应的adb并不会显示offline,而显示devices,但运行对应adb的命令则会抛出错误
mumu在启动模拟器时进度条没满就已经可以连上adb,运行些简单的adb命令shell(“true”)可以成功,但在转发droidcast时又会在某步出错,不好利用adb判断mumu的启动状态。
但可以利用MuMuManager检查is_android_started字段,当为true时则一定启动成功,容易判断。
MuMuManager
mumu的应用管理器,可替代常规的adb实现应用控制,特别的,可以读取与修改模拟器的配置,可实现自动关闭后台保活,修改分辨率,限制模拟器cpu等操作
MuMuIPC
mumu的额外接口,在shell/sdk/external_renderer_ipc.dll,可以实现高速截图,0延迟触控。
需要模拟器开启并指定应用的display_id才可使用:
在不开启后台保活下,display_id始终为0,不需要游戏启动
在开启后台保活下,应用的display_id会随每一次启动和关闭而改变,需要动态的获取display_id。
ng中为了适配这两种情况统一启动游戏后再获取display_id
目前在触控方面只有touch_down和touch_up,没有move,只能用连续的touch_down模拟move
若同时使用MuMuManager应用控制,MuMuIPC截图与触控,则完全避开了传统的adb,稳定性完全依赖mumu本身
[补充]:开启后台保活下am start命令失效,使用monkey命令启动
雷电模拟器9
仅Windows,免费,闭源,有广告,支持多开。
ldconsole
ldopengl
Android Virtual Device
跨平台,免费,开源
不支持关闭,只支持启动
Genymotion Desktop
跨平台,免费,闭源,需要账户,支持多开。Linux下对N卡的支持状况未知。M芯片macOS下需要Rosetta。
与ReDroid比性能很差。Linux KDE下可设置窗口规则,让模拟器窗口一直保持最小化状态,启动后不会抢占焦点。
管理模拟器的命令行工具是GMTool,阻塞式地启动模拟器:日志里看到启动过程上有adb连接的尝试。模拟器启动完成后,命令行工具才退出返回。
ReDroid
开源,仅Linux,需要内核模块,用Docker多开
需要虚拟机才能用N卡
不同版本的ReDroid跑明日方舟可能不稳定,我正在用ReDroid 11。打开明日方舟后,DroidCast截图需要旋转180度。
Waydroid
开源,仅Linux,需要内核模块,不支持N卡,可以借助distrobox多开
Waydroid的Android 11镜像在amdgpu上有问题:adb截图会在stderr
输出一行报错信息,需要在截图命令后面加2>/dev/null
;无法使用scrcpy投屏,但是可以用DroidCast。据说Android 13镜像解决了这些问题。镜像打了boringdroid补丁,用adb命令启动应用,会以窗口形式运行。要全屏运行游戏,需要点击图标启动。
需要Wayland合成器,不过Wayland合成器一般可以嵌套运行在X11或Wayland下。推荐cage,比weston快。用grim截jpg,截图时间可以降到50ms以内。
麟卓卓懿/xDroid
闭源,支持Windows和Linux,可以多开
Linux下不适合挂脚本:截图有黑边,不支持全屏启动应用