审计日志增加 ADB 连接/断开和设备 ID 记录

- is_ready(): 检测到 ADB 设备连接时记录串号和类型 (USB/无线)
- is_ready(): 设备断开时记录上次串号和断开原因
- connect_wireless(): 记录无线连接成功/失败
- disconnect_wireless(): 记录无线断开
This commit is contained in:
kushidou
2026-07-10 19:48:13 +08:00
parent e17d03cea9
commit 5a75faf6fc
+21
View File
@@ -274,6 +274,7 @@ class AdbManager:
self._screen_on_since: float | None = None
self._last_known_screen_on = False
self._last_adb_check = 0 # 限频用
self._prev_ready = False # 前次 ADB 就绪状态,用于检测变化
self._current_serial: str | None = None # 自动检测到的设备串号
self._wireless_addr: str = "" # 当前无线连接地址 (IP:PORT)
self._wireless_retries: int = 0 # 无线重连尝试次数
@@ -331,11 +332,15 @@ class AdbManager:
self._wireless_addr = addr
self._wireless_retries = 0
log.info("无线 ADB 已连接: %s", addr)
if self._audit:
self._audit.log("无线连接", f"已连接: {addr}")
return True, result
return False, result
except Exception as e:
self._last_error = str(e)
log.error("无线连接失败: %s", e)
if self._audit:
self._audit.log("无线连接失败", f"{addr}: {e}")
return False, str(e)
def disconnect_wireless(self, addr: str = "") -> bool:
@@ -347,6 +352,8 @@ class AdbManager:
client = self._ensure_client()
client.disconnect(target)
log.info("无线 ADB 已断开: %s", target)
if self._audit:
self._audit.log("无线断开", f"已断开: {target}")
if target == self._wireless_addr:
self._wireless_addr = ""
return True
@@ -463,6 +470,9 @@ class AdbManager:
d.getprop("ro.build.version.sdk")
self._device = d
self._current_serial = d.serial
if not self._prev_ready and self._audit:
self._audit.log("ADB 设备已连接", f"串号: {d.serial}, 类型: USB")
self._prev_ready = True
self._ready = True
self._last_error = ""
return True
@@ -477,6 +487,9 @@ class AdbManager:
if d.serial == wireless_addr:
d.getprop("ro.build.version.sdk")
self._device = d
if not self._prev_ready and self._audit:
self._audit.log("ADB 设备已连接", f"串号: {d.serial}, 类型: 无线")
self._prev_ready = True
self._ready = True
self._last_error = ""
self._wireless_addr = wireless_addr
@@ -484,6 +497,9 @@ class AdbManager:
# 不在列表中,尝试连接
if self.ensure_wireless_connection():
if not self._prev_ready and self._audit:
self._audit.log("ADB 设备已连接", f"串号: {wireless_addr}, 类型: 无线")
self._prev_ready = True
return True
if not devices and not wireless_host:
@@ -495,6 +511,11 @@ class AdbManager:
except Exception as e:
self._last_error = str(e)
# 如果之前是就绪状态但检测失败 → 设备断开
if self._prev_ready and self._audit:
last_serial = self._current_serial or (self._device.serial if self._device else "未知")
self._audit.log("ADB 设备已断开", f"上次串号: {last_serial}, 原因: {self._last_error}")
self._prev_ready = False
self._ready = False
self._device = None
return False