1
0
mirror of https://gitee.com/sui-feng-cb/AzurLaneAutoScript1 synced 2026-03-30 02:47:13 +08:00

Fix: [ALAS] Skip permission errors when replacing adb

This commit is contained in:
LmeSzinc
2026-03-28 18:17:42 +08:00
parent e45fd05341
commit 0c4f46180e
2 changed files with 19 additions and 13 deletions

View File

@@ -142,10 +142,13 @@ class EmulatorManager(AlasManager):
for adb in replace: for adb in replace:
logger.info(f'Replacing {adb}') logger.info(f'Replacing {adb}')
bak = self.adb_path_to_backup(adb, new_backup=True) bak = self.adb_path_to_backup(adb, new_backup=True)
logger.info(f'{adb} -----> {bak}') try:
shutil.move(adb, bak) logger.info(f'{adb} -----> {bak}')
logger.info(f'{self.adb} -----> {adb}') shutil.move(adb, bak)
shutil.copy(self.adb, adb) logger.info(f'{self.adb} -----> {adb}')
shutil.copy(self.adb, adb)
except OSError as e:
logger.warning(f'Failed to replace {adb}, {e}')
def adb_recover(self): def adb_recover(self):
""" """

View File

@@ -137,16 +137,19 @@ class VirtualBoxEmulator:
""" """
for ori, bak in zip(self.adb_binary, self.adb_backup): for ori, bak in zip(self.adb_binary, self.adb_backup):
logger.info(f'Replacing {ori}') logger.info(f'Replacing {ori}')
if os.path.exists(ori): try:
if filecmp.cmp(adb, ori, shallow=True): if os.path.exists(ori):
logger.info(f'{adb} is same as {ori}, skip') if filecmp.cmp(adb, ori, shallow=True):
logger.info(f'{adb} is same as {ori}, skip')
else:
logger.info(f'{ori} -----> {bak}')
shutil.move(ori, bak)
logger.info(f'{adb} -----> {ori}')
shutil.copy(adb, ori)
else: else:
logger.info(f'{ori} -----> {bak}') logger.info(f'{ori} not exists, skip')
shutil.move(ori, bak) except OSError as e:
logger.info(f'{adb} -----> {ori}') logger.warning(f'Failed to replace {ori}, {e}')
shutil.copy(adb, ori)
else:
logger.info(f'{ori} not exists, skip')
def adb_recover(self): def adb_recover(self):
""" Revert adb replacement """ """ Revert adb replacement """