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

Flutter Windows应用如何打包为单个EXE文件?

Flutter Windows 打包为单个EXE的可行方案

方法一:使用第三方打包工具(无需修改CMake,适合新手)

这是最省心的方式,不用接触C++或CMake配置,只需先完成Flutter的Release构建,再用打包工具将整个输出目录打包为单个可执行文件。

  1. 构建Flutter Release版本
    在项目根目录执行命令:

    flutter build windows --release
    

    执行完成后,产物会生成在build/windows/x64/runner/Release目录下,包含你的应用EXE和所有依赖的DLL、资源文件。

  2. 用打包工具生成单EXE
    推荐两款工具:

    • Inno Setup:免费开源,操作简单。新建脚本,指定Release目录为源,设置输出为单文件自解压EXE,用户运行时会自动释放文件到临时目录并启动应用。
    • Advanced Installer:有免费版,可视化操作,支持直接将Flutter产物打包为单文件EXE,无需编写脚本。

方法二:使用flutter_distributor工具(Flutter生态工具,一键打包)

这是Flutter社区维护的分发工具,内置了单EXE打包能力,步骤极简:

  1. 安装flutter_distributor

    dart pub global activate flutter_distributor
    
  2. 添加配置文件
    在项目根目录创建distribute.yaml,内容如下:

    name: your_app_name
    release_options:
      windows:
        builder: inno
        args:
          - /SILENT
    
  3. 打包单EXE
    执行命令:

    flutter_distributor release --name windows
    

    工具会自动完成构建并生成单个EXE安装包,位于dist目录下。

方法三:修改CMake配置(进阶,适合愿意尝试的用户)

如果你想直接通过修改Flutter的CMake配置实现单文件输出,可按以下步骤操作(无需深入C++知识,复制粘贴即可):

  1. 打开Windows项目的CMakeLists.txt
    路径为windows/CMakeLists.txt,找到add_executable部分。

  2. 添加静态链接配置
    在add_executable下方添加:

    # 启用静态链接,减少依赖DLL
    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /static")
    
  3. 打包依赖资源到EXE
    使用CMake的file(COPY ...)将资源文件嵌入EXE,或者使用第三方工具Resource Hacker手动将DLL和资源嵌入生成的EXE中。

注意:这种方法可能会导致EXE体积增大,且部分系统兼容性需要测试,新手优先推荐前两种方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 18:12:43