Files
wushu/WIFI_DEVICE_FIX.md
2026-04-09 02:23:27 +08:00

4.1 KiB
Raw Blame History

WiFi 设备连接问题解决方案

问题描述

在 Trae 环境下运行应用到三星平板WiFi 连接)时,一直显示 "Installing build\app\outputs\flutter-apk\app-debug.apk...",但 Android Studio 能正常安装。

根本原因

WiFi 连接的设备建立 VM Service 连接较慢,导致 Flutter 认为安装卡住。实际上 APK 已经成功安装,只是 Flutter 在等待 VM Service 端口连接时超时。

解决方案

方案 1使用 VS Code 专用配置(推荐)

  1. 在 VS Code 中按 F5 或点击调试按钮
  2. 在配置下拉菜单中选择 "flutter_application_2 (WiFi Device)"
  3. 该配置已优化为:
    • 设备超时时间120 秒
    • 连接类型:仅 WiFi 设备
    • 目标设备192.168.50.213:44263三星平板

方案 2使用辅助脚本

Windows 批处理脚本

wifi_device_helper.bat

PowerShell 脚本

.\wifi_device_helper.ps1

脚本提供以下功能:

  • 选项 1运行到 WiFi 设备(三星平板)
  • 选项 2运行到 USB 设备
  • 选项 3仅构建 APK
  • 选项 4手动安装 APK 到 WiFi 设备(绕过 VM Service 连接)
  • 选项 5检查设备连接状态
  • 选项 6使用详细日志运行调试用

方案 3手动命令

运行到 WiFi 设备

flutter run --device-id=192.168.50.213:44263 --device-timeout=120 --device-connection=wireless

仅构建 APK

flutter build apk --debug

手动安装 APK

# 构建后手动安装
flutter build apk --debug

# 使用 ADB 安装
E:\sdk\android\platform-tools\adb.exe -s 192.168.50.213:44263 install -r build\app\outputs\flutter-apk\app-debug.apk

# 启动应用
E:\sdk\android\platform-tools\adb.exe -s 192.168.50.213:44263 shell am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER app.wushu.poes/app.wushu.poes.MainActivity

配置说明

VS Code launch.json 配置

所有配置已添加 --device-timeout=60 参数,默认超时时间从 10 秒增加到 60 秒。

新增配置

WiFi 设备配置:

{
    "name": "flutter_application_2 (WiFi Device)",
    "request": "launch",
    "type": "dart",
    "deviceId": "192.168.50.213:44263",
    "args": [
        "--device-timeout=120",
        "--device-connection=wireless"
    ]
}

USB 设备配置:

{
    "name": "flutter_application_2 (USB Device)",
    "request": "launch",
    "type": "dart",
    "deviceId": "S48DTKPRVK4H8PKB",
    "args": [
        "--device-timeout=30",
        "--device-connection=attached"
    ]
}

常见问题

Q: 为什么 Android Studio 能正常安装?

A: Android Studio 有更完善的超时处理和重试机制,并且对 WiFi 设备有专门的优化。

Q: 如何确认设备已连接?

A: 运行以下命令:

flutter devices
# 或
E:\sdk\android\platform-tools\adb.exe devices

Q: 如果还是卡住怎么办?

A: 使用辅助脚本的选项 4手动安装 APK这会绕过 VM Service 连接等待。

Q: 如何查看详细日志?

A: 使用 --verbose 参数:

flutter run --device-id=192.168.50.213:44263 --verbose

或使用辅助脚本的选项 6。

技术细节

问题分析过程

  1. 设备连接检查Flutter 和 ADB 都能识别到设备
  2. APK 构建:构建成功完成
  3. 安装过程APK 实际已安装成功(显示 "Success"
  4. 卡住位置:在 "Waiting for VM Service port to be available..." 阶段
  5. 根本原因WiFi 连接延迟导致 VM Service 端口连接建立较慢

解决方案原理

  1. 增加超时时间:从默认 10 秒增加到 60-120 秒
  2. 指定连接类型:使用 --device-connection=wireless 优化 WiFi 连接
  3. 手动安装:绕过 VM Service 连接等待,直接安装 APK

相关文件

  • .vscode/launch.json - VS Code 调试配置
  • wifi_device_helper.bat - Windows 批处理辅助脚本
  • wifi_device_helper.ps1 - PowerShell 辅助脚本
  • CHANGELOG.md - 更新日志(版本 1.4.3

更新日志

详见 CHANGELOG.md 版本 1.4.3。