fix: support emulator index parsing from MuMu ArkNights version

This commit is contained in:
2026-07-05 18:19:44 +08:00
parent 0590eebd44
commit be44b23d70
2 changed files with 13 additions and 5 deletions
+8 -4
View File
@@ -83,8 +83,9 @@ class EmulatorInstanceBase:
def MuMuPlayer12_id(self):
"""
Convert MuMu 12 instance name to instance id.
Example name: MuMuPlayer-12.0-3
Example ID : 3
Example names:
MuMuPlayer-12.0-3
YXArkNights-12.0-1
Returns:
int: Instance ID, or None if this is not a MuMu 12 instance
@@ -92,8 +93,11 @@ class EmulatorInstanceBase:
res = re.search(r'MuMuPlayer-12.0-(\d+)', self.name)
if res:
return int(res.group(1))
else:
return None
res = re.search(r'YXArkNights-12.0-(\d+)', self.name)
if res:
return int(res.group(1))
return None
class EmulatorBase:
+5 -1
View File
@@ -8,8 +8,8 @@ from deploy.Windows.utils import DataProcessInfo
from module.base.decorator import run_once
from module.base.timer import Timer
from module.device.connection import AdbDeviceWithStatus
from module.device.platform.platform_base import PlatformBase
from module.device.platform.emulator_windows import Emulator, EmulatorInstance, EmulatorManager
from module.device.platform.platform_base import PlatformBase
from module.logger import logger
@@ -91,6 +91,8 @@ class PlatformWindows(PlatformBase, EmulatorManager):
self.execute(f'"{exe}" -m {instance.name}')
elif instance == Emulator.MuMuPlayer12:
# MuMuPlayer.exe -v 0
if instance.MuMuPlayer12_id is None:
logger.warning(f'Cannot get MuMu instance index from name {instance.name}')
self.execute(f'"{exe}" -v {instance.MuMuPlayer12_id}')
elif instance == Emulator.NoxPlayerFamily:
# Nox.exe -clone:Nox_1
@@ -142,6 +144,8 @@ class PlatformWindows(PlatformBase, EmulatorManager):
# MuMu 12 has 2 processes:
# E:\ProgramFiles\Netease\MuMuPlayer-12.0\shell\MuMuPlayer.exe -v 0
# "C:\Program Files\MuMuVMMVbox\Hypervisor\MuMuVMMHeadless.exe" --comment MuMuPlayer-12.0-0 --startvm xxx
if instance.MuMuPlayer12_id is None:
logger.warning(f'Cannot get MuMu instance index from name {instance.name}')
self.kill_process_by_regex(
rf'('
rf'MuMuVMMHeadless.exe.*--comment {instance.name}'