疑難排解方法
自動化系統的故障往往不是「壞了」,而是「某一步沒按預期發生」。按層疑難排解比逐條試配置快得多。
先分層
text
第 0 层:启动器 / APK 本身能不能起来
第 1 层:后端能不能起来(端口、密码、前端)
第 2 层:设备能不能连(ADB、截图、点击)
第 3 层:识别对不对(页面、按钮、OCR)
第 4 层:任务逻辑与调度(选任务、排期、恢复)
第 5 层:游戏机制与活动适配從下往上查。第 2 層沒通,改第 4 層的配置毫無意義。
取證清單
| 證據 | 位置 |
|---|---|
| 當前任務與狀態 | WebUI 總覽 |
| 最近日誌 | log/<日期>_<实例>.txt |
| 錯誤現場 | log/error/<实例>/<时间戳>/(截圖 + log.txt) |
| 啟動器日誌 | log/<日期>_launcher.txt |
| Android 宿主日誌 | log/app.log、log/proot/session.log |
| 設備狀態 | adb devices、截圖測試 |
| 版本 | 核心提交、啟動器版本、Runtime 版本 |
分享前先脱敏
配置匯出裏有模擬器 Serial、SSH 私鑰、WebUI 密碼、遠程身份。發 Issue 前刪掉這些字段。
常見現象與第一檢查點
| 現象 | 先看 |
|---|---|
| WebUI 打不開 | 進程是否存活、連接埠是否被佔、監聽地址 |
| 截圖全黑 | 截圖方案、解像度、模擬器渲染後端 |
| 點不動 | 控制方案、虛擬熒幕、權限 |
| 識別錯位 | 解像度是否 1280×720、皮膚/裝備遮擋 |
| 任務反覆失敗 | 日誌裏的異常類型,不是「失敗」兩個字 |
| 任務不運行 | Enable、NextRun、優先級、敏感任務停機 |
| 配置改了沒生效 | 是否在任務執行中、是否被 override |
| 更新後崩潰 | 回滾、看生成產物差異、依賴是否同步 |
隔離變數
一次只改一個東西,並記錄改前/改後:
- 換截圖方案 → 只換截圖,不動控制。
- 換控制方案 → 只換控制。
- 換關卡/艦隊 → 只動任務參數。
- 換實例 → 確認是配置問題還是環境問題。
同時改三處,最後你不知道是哪一處生效。
什麼時候該停下來
| 情況 | 建議 |
|---|---|
| 敏感任務(跨月、隱秘、深淵)出錯 | 不要反覆重試,先儲存現場 |
| 帳號出現異常登入/風控提示 | 立即停止所有自動化 |
| 日誌出現憑據或個人資訊 | 停止分享,先脱敏 |
| 連續重新啟動模擬器超過閾值 | 檢查模擬器本身,而不是加大重試 |
提 Issue 的正確姿勢
包含:
- 版本(核心提交 / 啟動器 / Runtime)
- 平台與模擬器(或手機型號、Android 版本)
- 復現步驟(從哪個頁面、點了什麼)
- 期望結果 vs 實際結果
- 日誌片段與錯誤截圖
- 已嘗試的疑難排解
不包含:
deploy.yaml、password.txt、remote-access.json- 完整帳號截圖
- 「不能用」三個字