From 35ec778be8fa135025c64250189714d480042ff7 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Sun, 6 Feb 2022 02:42:28 +0800 Subject: [PATCH] Fix: Kill adb directly instead of using "adb kill-server" --- deploy/emulator.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/deploy/emulator.py b/deploy/emulator.py index 984144f62..89c4609db 100644 --- a/deploy/emulator.py +++ b/deploy/emulator.py @@ -185,7 +185,7 @@ class EmulatorConnect: self.adb_binary = adb def _execute(self, cmd): - cmd = [self.adb_binary] + cmd + print(' '.join(cmd)) process = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True) stdout, stderr = process.communicate(timeout=10) result = stdout.decode() @@ -214,7 +214,7 @@ class EmulatorConnect: Returns: list[str]: Connected devices in adb """ - result = self._execute(['devices']) + result = self._execute([self.adb_binary, 'devices']) devices = [] for line in result.replace('\r\r\n', '\n').replace('\r\n', '\n').split('\n'): if line.startswith('List') or '\t' not in line: @@ -227,8 +227,12 @@ class EmulatorConnect: return devices def adb_kill(self): - self._execute(['devices']) - self._execute(['kill-server']) + # self._execute([self.adb_binary, 'devices']) + # self._execute([self.adb_binary, 'kill-server']) + + # Just kill it, because some adb don't obey. + self._execute(['taskkill', '/f', '/im', 'adb.exe']) + self._execute(['taskkill', '/f', '/im', 'nox_adb.exe']) @cached_property def serial(self):