#!/bin/bash # 一轮双端控制(不分 BLE/WiFi;两端 radio 保持当前态 —— WiFi+蓝牙都开,不做任何切换): # 1) Android 控制:CONTROL_ONLY=1 NO_PROTO_SPLIT=1 run-p0-all.sh # └ 跳过 复位/添加、跳过 平台/账号;控制清单只跑一遍;不切 BLE/WiFi。 # 2) iOS 控制:NO_PROTO_SPLIT=1 run-ios-controls.sh # └ 跳过 协议切换、跳过 平台/账号 TAIL;控制清单只跑一遍。 # 两端共用 reports/.results.json → iOS 开跑前清一次,产出两份独立报告 # (Android: reports/P0_All_Android_*.html;iOS: reports/iOSAll_*.html + P0_iOS_Ctrl_真实.md)。 # 启动:nohup caffeinate -dimsu bash scripts/run-ctrl-both-oneround.sh > reports/ctrl-both.out 2>&1 & set -u cd "$(dirname "$0")/.." log(){ echo "[$(date '+%m-%d %H:%M:%S')] $*"; } # 归档上次 HTML/关键日志,避免与本轮混淆 log "===== 归档上次报告产物 =====" mkdir -p reports/archive ts=$(date '+%Y%m%d-%H%M%S') for f in reports/*P0_All_Android*.html reports/iOSAll_*.html reports/iOSBLE_*.html reports/AIHub_IOS_*.html reports/p0-all.log reports/ios-controls.log; do [ -e "$f" ] && mv "$f" "reports/archive/$(basename "$f" | sed "s/\(\.[^.]*\)$/_$ts\1/")" 2>/dev/null done # 1) Android 控制(run-p0-all.sh 开头自清 .results.json;末尾 gen-combined 出 P0_All_Android) log "等待 Android adb 就绪..." for i in $(seq 1 10); do adb devices 2>/dev/null | grep -qE "device$" && { log " adb 就绪"; break; } log " 无 adb 设备,等待 ${i}/10 min..."; sleep 60 done log "===== Android 控制(单轮, 不分协议)开始 =====" CONTROL_ONLY=1 NO_PROTO_SPLIT=1 bash scripts/run-p0-all.sh log "===== Android 控制结束(报告 reports/P0_All_Android_*.html)=====" # iOS 阶段前:只刷 iproxy 端口转发(不重装 WDA,避免弹授权) log "===== 刷新 iproxy 端口转发(不重装 WDA)=====" pkill -f "iproxy 8100" 2>/dev/null; sleep 1 UDID=$(idevice_id -l 2>/dev/null | head -1) nohup iproxy 8100 8100 -u "$UDID" >/dev/null 2>&1 & sleep 5 if curl -s --max-time 5 http://localhost:8100/status 2>/dev/null | grep -q '"ready"'; then log "WDA 连通正常" rm -f reports/.results.json # 清掉 Android 结果 → iOS 报告独立 log "===== iOS 控制(单轮, 不分协议)开始 =====" NO_PROTO_SPLIT=1 bash scripts/run-ios-controls.sh log "===== iOS 控制结束(报告 reports/iOSAll_*.html)=====" else log "!! WDA(8100)不在线,跳过 iOS 阶段(检查 iproxy/WDA)" fi log "全链完成。Android: reports/P0_All_Android_*.html;iOS: reports/iOSAll_*.html + P0_iOS_Ctrl_真实.md"