From f905524fb4c8ff2031bb1fffc7422c3b58c87403 Mon Sep 17 00:00:00 2001 From: YoursFunny Date: Mon, 6 Jul 2026 21:10:41 +0800 Subject: [PATCH] feat: support LDPlayer14 --- module/config/argument/args.json | 1 + module/config/argument/argument.yaml | 1 + module/config/config_generated.py | 2 +- module/config/i18n/en-US.json | 1 + module/config/i18n/zh-CN.json | 1 + module/device/method/ldopengl.py | 2 +- module/device/platform/emulator_base.py | 3 ++- module/device/platform/emulator_windows.py | 7 ++++++- 8 files changed, 14 insertions(+), 4 deletions(-) diff --git a/module/config/argument/args.json b/module/config/argument/args.json index 218dee8..928f19c 100644 --- a/module/config/argument/args.json +++ b/module/config/argument/args.json @@ -75,6 +75,7 @@ "LDPlayer3", "LDPlayer4", "LDPlayer9", + "LDPlayer14", "MuMuPlayer", "MuMuPlayerX", "MuMuPlayer12", diff --git a/module/config/argument/argument.yaml b/module/config/argument/argument.yaml index cb1f80e..6bbde48 100644 --- a/module/config/argument/argument.yaml +++ b/module/config/argument/argument.yaml @@ -45,6 +45,7 @@ EmulatorInfo: LDPlayer3, LDPlayer4, LDPlayer9, + LDPlayer14, MuMuPlayer, MuMuPlayerX, MuMuPlayer12, diff --git a/module/config/config_generated.py b/module/config/config_generated.py index 294a721..073b6ac 100644 --- a/module/config/config_generated.py +++ b/module/config/config_generated.py @@ -24,7 +24,7 @@ class GeneratedConfig: Emulator_AdbRestart = False # Group `EmulatorInfo` - EmulatorInfo_Emulator = 'auto' # auto, NoxPlayer, NoxPlayer64, BlueStacks4, BlueStacks5, BlueStacks4HyperV, BlueStacks5HyperV, LDPlayer3, LDPlayer4, LDPlayer9, MuMuPlayer, MuMuPlayerX, MuMuPlayer12, MEmuPlayer + EmulatorInfo_Emulator = 'auto' # auto, NoxPlayer, NoxPlayer64, BlueStacks4, BlueStacks5, BlueStacks4HyperV, BlueStacks5HyperV, LDPlayer3, LDPlayer4, LDPlayer9, LDPlayer14, MuMuPlayer, MuMuPlayerX, MuMuPlayer12, MEmuPlayer EmulatorInfo_name = None EmulatorInfo_path = None diff --git a/module/config/i18n/en-US.json b/module/config/i18n/en-US.json index 3779f7a..0a39656 100644 --- a/module/config/i18n/en-US.json +++ b/module/config/i18n/en-US.json @@ -175,6 +175,7 @@ "LDPlayer3": "LD Player 3", "LDPlayer4": "LD Player 4", "LDPlayer9": "LD Player 9", + "LDPlayer14": "LD Player 14", "MuMuPlayer": "MuMu Player", "MuMuPlayerX": "MuMu Player X", "MuMuPlayer12": "MuMu Player 12", diff --git a/module/config/i18n/zh-CN.json b/module/config/i18n/zh-CN.json index 7a02680..29968c7 100644 --- a/module/config/i18n/zh-CN.json +++ b/module/config/i18n/zh-CN.json @@ -175,6 +175,7 @@ "LDPlayer3": "雷电模拟器3", "LDPlayer4": "雷电模拟器4", "LDPlayer9": "雷电模拟器9", + "LDPlayer14": "雷电模拟器14", "MuMuPlayer": "MuMu模拟器", "MuMuPlayerX": "MuMu模拟器X", "MuMuPlayer12": "MuMu模拟器12", diff --git a/module/device/method/ldopengl.py b/module/device/method/ldopengl.py index 72caf34..9ccef57 100644 --- a/module/device/method/ldopengl.py +++ b/module/device/method/ldopengl.py @@ -332,7 +332,7 @@ class LDOpenGL(Platform): if not self.is_ldplayer_bluestacks_family: return False logger.attr('EmulatorInfo_Emulator', self.config.EmulatorInfo_Emulator) - if self.config.EmulatorInfo_Emulator not in ['LDPlayer9']: + if self.config.EmulatorInfo_Emulator not in ['LDPlayer9', 'LDPlayer14']: return False try: diff --git a/module/device/platform/emulator_base.py b/module/device/platform/emulator_base.py index 19943fd..522c6b5 100644 --- a/module/device/platform/emulator_base.py +++ b/module/device/platform/emulator_base.py @@ -155,7 +155,8 @@ class EmulatorBase: LDPlayer3 = 'LDPlayer3' LDPlayer4 = 'LDPlayer4' LDPlayer9 = 'LDPlayer9' - LDPlayerFamily = [LDPlayer3, LDPlayer4, LDPlayer9] + LDPlayer14 = 'LDPlayer14' + LDPlayerFamily = [LDPlayer3, LDPlayer4, LDPlayer9, LDPlayer14] MuMuPlayer = 'MuMuPlayer' MuMuPlayerX = 'MuMuPlayerX' MuMuPlayer12 = 'MuMuPlayer12' diff --git a/module/device/platform/emulator_windows.py b/module/device/platform/emulator_windows.py index e91a55d..4b151cd 100644 --- a/module/device/platform/emulator_windows.py +++ b/module/device/platform/emulator_windows.py @@ -110,6 +110,8 @@ class Emulator(EmulatorBase): return cls.LDPlayer4 elif dir1 == 'ldplayer9': return cls.LDPlayer9 + elif dir1 == 'ldplayer14': + return cls.LDPlayer14 else: return cls.LDPlayer3 if exe == 'nemuplayer.exe': @@ -459,9 +461,11 @@ class EmulatorManager(EmulatorManagerBase): 'LDPlayer', 'LDPlayer4', 'LDPlayer9', + 'LDPlayer14', 'leidian', 'leidian4', 'leidian9', + 'leidian14', 'Nemu', 'Nemu9', 'MuMuPlayer', @@ -523,7 +527,8 @@ class EmulatorManager(EmulatorManagerBase): # LDPlayer install path for path in [r'SOFTWARE\leidian\ldplayer', - r'SOFTWARE\leidian\ldplayer9']: + r'SOFTWARE\leidian\ldplayer9', + r'SOFTWARE\leidian\ldplayer14']: ld = self.get_install_dir_from_reg(path, 'InstallDir') if ld: ld = abspath(os.path.join(ld, './dnplayer.exe'))