13 模拟器
Elaina edited this page 2025-05-06 12:51:09 +08:00

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下不适合挂脚本:截图有黑边,不支持全屏启动应用