fix: handle empty getprop on mumu12 >= 4.0

This commit is contained in:
2026-07-06 22:40:38 +08:00
parent b535ee5f7e
commit dcb15deb4b
2 changed files with 26 additions and 3 deletions
+23 -3
View File
@@ -269,6 +269,7 @@ class Connection(ConnectionAttr):
return self.adb_shell(['getprop', name]).strip() return self.adb_shell(['getprop', name]).strip()
@cached_property @cached_property
@retry
def cpu_abi(self) -> str: def cpu_abi(self) -> str:
""" """
Returns: Returns:
@@ -280,6 +281,7 @@ class Connection(ConnectionAttr):
return abi return abi
@cached_property @cached_property
@retry
def sdk_ver(self) -> int: def sdk_ver(self) -> int:
""" """
Android SDK/API levels, see https://apilevels.com/ Android SDK/API levels, see https://apilevels.com/
@@ -293,6 +295,7 @@ class Connection(ConnectionAttr):
return 0 return 0
@cached_property @cached_property
@retry
def is_avd(self): def is_avd(self):
if get_serial_pair(self.serial)[0] is None: if get_serial_pair(self.serial)[0] is None:
return False return False
@@ -303,12 +306,28 @@ class Connection(ConnectionAttr):
return False return False
@cached_property @cached_property
@retry
def nemud_app_keep_alive(self) -> str: def nemud_app_keep_alive(self) -> str:
res = self.adb_getprop('nemud.app_keep_alive') res = self.adb_getprop('nemud.app_keep_alive')
logger.attr('nemud.app_keep_alive', res) logger.attr('nemud.app_keep_alive', res)
return res return res
@cached_property
@retry @retry
def nemud_player_version(self) -> str:
# [nemud.player_product_version]: [3.8.27.2950]
res = self.adb_getprop('nemud.player_version')
logger.attr('nemud.player_version', res)
return res
@cached_property
@retry
def nemud_player_engine(self) -> str:
# NEMUX or MACPRO
res = self.adb_getprop('nemud.player_engine')
logger.attr('nemud.player_engine', res)
return res
def check_mumu_app_keep_alive(self): def check_mumu_app_keep_alive(self):
if not self.is_mumu_family: if not self.is_mumu_family:
return False return False
@@ -338,12 +357,13 @@ class Connection(ConnectionAttr):
""" """
if not self.is_mumu_family: if not self.is_mumu_family:
return False return False
# >= 4.0 has no info in getprop
if self.nemud_player_version == '':
return True
if self.nemud_app_keep_alive != '': if self.nemud_app_keep_alive != '':
return True return True
if IS_MACINTOSH: if IS_MACINTOSH:
res = self.adb_getprop('nemud.player_engine') if 'MACPRO' in self.nemud_player_engine:
logger.attr('nemud.player_engine', res)
if 'MACPRO' in res:
return True return True
return False return False
+3
View File
@@ -486,6 +486,9 @@ class NemuIpc(Platform):
def nemu_ipc_available(self) -> bool: def nemu_ipc_available(self) -> bool:
if not self.is_mumu_family: if not self.is_mumu_family:
return False return False
# >= 4.0 has no info in getprop
if self.nemud_player_version == '':
return True
if self.nemud_app_keep_alive == '': if self.nemud_app_keep_alive == '':
return False return False
try: try: