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()
@cached_property
@retry
def cpu_abi(self) -> str:
"""
Returns:
@@ -280,6 +281,7 @@ class Connection(ConnectionAttr):
return abi
@cached_property
@retry
def sdk_ver(self) -> int:
"""
Android SDK/API levels, see https://apilevels.com/
@@ -293,6 +295,7 @@ class Connection(ConnectionAttr):
return 0
@cached_property
@retry
def is_avd(self):
if get_serial_pair(self.serial)[0] is None:
return False
@@ -303,12 +306,28 @@ class Connection(ConnectionAttr):
return False
@cached_property
@retry
def nemud_app_keep_alive(self) -> str:
res = self.adb_getprop('nemud.app_keep_alive')
logger.attr('nemud.app_keep_alive', res)
return res
@cached_property
@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):
if not self.is_mumu_family:
return False
@@ -338,12 +357,13 @@ class Connection(ConnectionAttr):
"""
if not self.is_mumu_family:
return False
# >= 4.0 has no info in getprop
if self.nemud_player_version == '':
return True
if self.nemud_app_keep_alive != '':
return True
if IS_MACINTOSH:
res = self.adb_getprop('nemud.player_engine')
logger.attr('nemud.player_engine', res)
if 'MACPRO' in res:
if 'MACPRO' in self.nemud_player_engine:
return True
return False
+3
View File
@@ -486,6 +486,9 @@ class NemuIpc(Platform):
def nemu_ipc_available(self) -> bool:
if not self.is_mumu_family:
return False
# >= 4.0 has no info in getprop
if self.nemud_player_version == '':
return True
if self.nemud_app_keep_alive == '':
return False
try: