审计日志增加 ADB 连接/断开和设备 ID 记录
- is_ready(): 检测到 ADB 设备连接时记录串号和类型 (USB/无线) - is_ready(): 设备断开时记录上次串号和断开原因 - connect_wireless(): 记录无线连接成功/失败 - disconnect_wireless(): 记录无线断开
This commit is contained in:
+21
@@ -274,6 +274,7 @@ class AdbManager:
|
|||||||
self._screen_on_since: float | None = None
|
self._screen_on_since: float | None = None
|
||||||
self._last_known_screen_on = False
|
self._last_known_screen_on = False
|
||||||
self._last_adb_check = 0 # 限频用
|
self._last_adb_check = 0 # 限频用
|
||||||
|
self._prev_ready = False # 前次 ADB 就绪状态,用于检测变化
|
||||||
self._current_serial: str | None = None # 自动检测到的设备串号
|
self._current_serial: str | None = None # 自动检测到的设备串号
|
||||||
self._wireless_addr: str = "" # 当前无线连接地址 (IP:PORT)
|
self._wireless_addr: str = "" # 当前无线连接地址 (IP:PORT)
|
||||||
self._wireless_retries: int = 0 # 无线重连尝试次数
|
self._wireless_retries: int = 0 # 无线重连尝试次数
|
||||||
@@ -331,11 +332,15 @@ class AdbManager:
|
|||||||
self._wireless_addr = addr
|
self._wireless_addr = addr
|
||||||
self._wireless_retries = 0
|
self._wireless_retries = 0
|
||||||
log.info("无线 ADB 已连接: %s", addr)
|
log.info("无线 ADB 已连接: %s", addr)
|
||||||
|
if self._audit:
|
||||||
|
self._audit.log("无线连接", f"已连接: {addr}")
|
||||||
return True, result
|
return True, result
|
||||||
return False, result
|
return False, result
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self._last_error = str(e)
|
self._last_error = str(e)
|
||||||
log.error("无线连接失败: %s", e)
|
log.error("无线连接失败: %s", e)
|
||||||
|
if self._audit:
|
||||||
|
self._audit.log("无线连接失败", f"{addr}: {e}")
|
||||||
return False, str(e)
|
return False, str(e)
|
||||||
|
|
||||||
def disconnect_wireless(self, addr: str = "") -> bool:
|
def disconnect_wireless(self, addr: str = "") -> bool:
|
||||||
@@ -347,6 +352,8 @@ class AdbManager:
|
|||||||
client = self._ensure_client()
|
client = self._ensure_client()
|
||||||
client.disconnect(target)
|
client.disconnect(target)
|
||||||
log.info("无线 ADB 已断开: %s", target)
|
log.info("无线 ADB 已断开: %s", target)
|
||||||
|
if self._audit:
|
||||||
|
self._audit.log("无线断开", f"已断开: {target}")
|
||||||
if target == self._wireless_addr:
|
if target == self._wireless_addr:
|
||||||
self._wireless_addr = ""
|
self._wireless_addr = ""
|
||||||
return True
|
return True
|
||||||
@@ -463,6 +470,9 @@ class AdbManager:
|
|||||||
d.getprop("ro.build.version.sdk")
|
d.getprop("ro.build.version.sdk")
|
||||||
self._device = d
|
self._device = d
|
||||||
self._current_serial = d.serial
|
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._ready = True
|
||||||
self._last_error = ""
|
self._last_error = ""
|
||||||
return True
|
return True
|
||||||
@@ -477,6 +487,9 @@ class AdbManager:
|
|||||||
if d.serial == wireless_addr:
|
if d.serial == wireless_addr:
|
||||||
d.getprop("ro.build.version.sdk")
|
d.getprop("ro.build.version.sdk")
|
||||||
self._device = d
|
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._ready = True
|
||||||
self._last_error = ""
|
self._last_error = ""
|
||||||
self._wireless_addr = wireless_addr
|
self._wireless_addr = wireless_addr
|
||||||
@@ -484,6 +497,9 @@ class AdbManager:
|
|||||||
|
|
||||||
# 不在列表中,尝试连接
|
# 不在列表中,尝试连接
|
||||||
if self.ensure_wireless_connection():
|
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
|
return True
|
||||||
|
|
||||||
if not devices and not wireless_host:
|
if not devices and not wireless_host:
|
||||||
@@ -495,6 +511,11 @@ class AdbManager:
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
self._last_error = str(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._ready = False
|
||||||
self._device = None
|
self._device = None
|
||||||
return False
|
return False
|
||||||
|
|||||||
Reference in New Issue
Block a user