4.1 KiB
4.1 KiB
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 专用配置(推荐)
- 在 VS Code 中按
F5或点击调试按钮 - 在配置下拉菜单中选择 "flutter_application_2 (WiFi Device)"
- 该配置已优化为:
- 设备超时时间: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。
技术细节
问题分析过程
- 设备连接检查:Flutter 和 ADB 都能识别到设备
- APK 构建:构建成功完成
- 安装过程:APK 实际已安装成功(显示 "Success")
- 卡住位置:在 "Waiting for VM Service port to be available..." 阶段
- 根本原因:WiFi 连接延迟导致 VM Service 端口连接建立较慢
解决方案原理
- 增加超时时间:从默认 10 秒增加到 60-120 秒
- 指定连接类型:使用
--device-connection=wireless优化 WiFi 连接 - 手动安装:绕过 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。