Some checks failed
SDK CI / python-compile (push) Has been cancelled
- 新增 sdk/app/agent(Hook/Skills/Anti-ban 等)及 NAS/ADB 脚本 - 更新 Android 端、unified、PHP SDK、Docker Compose - Soul 文档迁移至 Soul调研/;移除资料目录内 APK - .gitignore 排除 sdk/tmp、sdk/logs、sdk/tmp_rom Co-authored-by: Cursor <cursoragent@cursor.com>
43 lines
1.6 KiB
Bash
Executable File
43 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
||
#
|
||
# 等待设备授权后自动启动 Agent
|
||
# 用法: bash wait_and_start.sh [server_url]
|
||
#
|
||
SERVER_URL="${1:-ws://192.168.1.100:8899/ws/device}"
|
||
DEVICE_SERIAL="dc9c23e00510"
|
||
MAX_WAIT=300 # 最多等5分钟
|
||
|
||
echo "⏳ 等待设备 $DEVICE_SERIAL 授权..."
|
||
echo ""
|
||
echo "📱 请在 Redmi Note 11 上执行以下操作:"
|
||
echo " 1. 设置 → 更多设置 → 开发者选项"
|
||
echo " 2. 确认「USB调试」已开启"
|
||
echo " 3. ⚠️ 关键:开启「USB调试(安全设置)」← 小米/红米特有!"
|
||
echo " 4. 如果没有弹出授权弹窗,点击「撤销USB调试授权」后重新插拔USB线"
|
||
echo " 5. 弹窗出现后,勾选「始终允许」→ 点「确定」"
|
||
echo ""
|
||
|
||
SECONDS_WAITED=0
|
||
while [ $SECONDS_WAITED -lt $MAX_WAIT ]; do
|
||
STATE=$(adb -s "$DEVICE_SERIAL" get-state 2>/dev/null)
|
||
if [ "$STATE" = "device" ]; then
|
||
echo "✅ 设备已授权!"
|
||
MODEL=$(adb -s "$DEVICE_SERIAL" shell getprop ro.product.model 2>/dev/null)
|
||
ANDROID=$(adb -s "$DEVICE_SERIAL" shell getprop ro.build.version.release 2>/dev/null)
|
||
MIUI=$(adb -s "$DEVICE_SERIAL" shell getprop ro.miui.ui.version.name 2>/dev/null)
|
||
echo " 型号: $MODEL | Android: $ANDROID | MIUI: $MIUI"
|
||
echo ""
|
||
echo "🚀 正在启动 Agent..."
|
||
cd "$(dirname "$0")"
|
||
python3 agent.py -s "$SERVER_URL"
|
||
exit 0
|
||
fi
|
||
sleep 3
|
||
SECONDS_WAITED=$((SECONDS_WAITED + 3))
|
||
printf "\r 已等待 %ds / %ds... (状态: %s)" "$SECONDS_WAITED" "$MAX_WAIT" "${STATE:-offline}"
|
||
done
|
||
|
||
echo ""
|
||
echo "❌ 等待超时,请检查手机设置"
|
||
exit 1
|