fix(runtime): release 2.7.1 with consistent ADB and failure diagnostics

This commit is contained in:
chenmingxuan committed 2026-11-05 11:40:49 +08:00
1 parent b2316ca249
commit 8bf59897bb
24 files changed
+792 -45

No files matched your search

+7 -1
View File
@@ -36,6 +36,8 @@ from artemis.controllers.types import (
SwipeStartEndPercentagesRequest,
TapOutput,
)
from artemis.runtime.adb_endpoint import AdbSession, current_adb_endpoint
from artemis.toolchain import find_scrcpy
from artemis.utils.logger import get_logger
from artemis.utils.video import (
ANDROID_RECORDING_SEGMENT_SECONDS,
@@ -82,9 +84,13 @@ class UnifiedMobileController:
@staticmethod
async def _spawn_scrcpy(command: list[str]) -> asyncio.subprocess.Process:
adb = AdbSession(current_adb_endpoint())
if not adb.adb_path:
raise FileNotFoundError("Android Platform Tools (adb) could not be found.")
kwargs: dict[str, Any] = {
"stdout": asyncio.subprocess.PIPE,
"stderr": asyncio.subprocess.PIPE,
"env": adb.environment(),
}
if os.name == "nt":
kwargs["creationflags"] = subprocess.CREATE_NEW_PROCESS_GROUP
@@ -606,7 +612,7 @@ class UnifiedMobileController:
config = recording_config(self.ctx)
bitrate = config.h265_kbps if codec == "h265" else config.h264_kbps
return build_scrcpy_record_command(
"scrcpy",
find_scrcpy(),
device_id,
path,
f"{bitrate}K",