You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter调试模式仅显示空白页,但flutter run可正常运行求助

Flutter调试模式空白页但flutter run正常的解决思路

问题复现

  • 使用VS Code/Android Studio按F5启动调试模式时,应用显示空白页,无任何错误或警告;
  • 直接执行flutter run命令时,应用可正常运行;
  • 所有项目(包括新建的默认项目、此前正常运行的老项目)均存在此问题;
  • 模拟器、真机、Linux桌面环境下测试情况一致;
  • 已尝试更换Flutter/Dart SDK版本、重装IDE,问题未解决。

现有环境信息

launch.json 配置

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "MY_APP",
            "request": "launch",
            "type": "dart"
        },
        {
            "name": "MY_APP (profile mode)",
            "request": "launch",
            "type": "dart",
            "flutterMode": "profile"
        },
        {
            "name": "MY_APP (release mode)",
            "request": "launch",
            "type": "dart",
            "flutterMode": "release"
        }
    ]
}

flutter doctor 输出

[✓] Flutter (Channel stable, 3.10.1, on Ubuntu 23.04 6.2.0-20-generic, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0-rc5)
[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[✗] Linux toolchain - develop for Linux desktop
    ✗ clang++ is required for Linux development.
      It is likely available from your distribution (e.g.: apt install clang), or can be downloaded from
      https://releases.llvm.org/
    ✗ CMake is required for Linux development.
      It is likely available from your distribution (e.g.: apt install cmake), or can be downloaded from
      https://cmake.org/download/
    ✗ ninja is required for Linux development.
      It is likely available from your distribution (e.g.: apt install ninja-build), or can be downloaded from
      https://github.com/ninja-build/ninja/releases
    ✗ pkg-config is required for Linux development.
      It is likely available from your distribution (e.g.: apt install pkg-config), or can be downloaded from
      https://www.freedesktop.org/wiki/Software/pkg-config/
[✓] Android Studio (version 2021.2)
[✓] VS Code
[!] Proxy Configuration
    ! NO_PROXY is not set
[✓] Connected device (2 available)
[✓] Network resources

! Doctor found issues in 3 categories.

解决方案尝试

1. 修复代理配置

flutter doctor提示NO_PROXY is not set,调试时代理可能拦截了IDE与应用的调试通信:

  • 临时设置环境变量:
    export NO_PROXY="localhost,127.0.0.1,::1"
    
  • 永久生效(Ubuntu):编辑~/.bashrc文件,添加上述命令,执行source ~/.bashrc生效。

2. 完善launch.json调试配置

当前配置未指定目标设备或入口文件,可能导致IDE调试时选择错误:

  • 添加设备ID与入口路径(设备ID通过flutter devices命令获取):
    {
        "name": "MY_APP",
        "request": "launch",
        "type": "dart",
        "deviceId": "emulator-5554", // 替换为你的设备ID
        "program": "${workspaceFolder}/lib/main.dart"
    }
    
  • 保存配置后重启IDE,重新启动调试。

3. 彻底清理缓存

缓存异常可能导致调试逻辑出错:

  • 执行Flutter清理命令:
    flutter clean
    flutter pub get
    flutter pub cache repair
    
  • 清理IDE缓存:
    • VS Code:按Ctrl+Shift+P,选择Developer: Reload Window;
    • Android Studio:点击File > Invalidate Caches...,勾选Clear file system cache and local history,点击Invalidate and Restart。

4. 检查调试端口占用

Flutter调试默认使用49152-65535端口,被占用会导致调试失败:

  • 检查端口占用:
    lsof -i :49152
    # 或
    netstat -tulpn | grep 49152
    
  • 杀掉占用端口的进程:kill -9 进程ID

5. 补全Linux桌面开发工具链

虽然问题出现在真机/模拟器,但工具链缺失可能影响全局调试环境:

  • 安装所需依赖:
    sudo apt update
    sudo apt install clang cmake ninja-build pkg-config
    
  • 安装完成后重新运行flutter doctor确认修复。

内容的提问来源于stack exchange,提问作者Mostafa Efafi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 20:33:23