Flutter使用Flutter Distributor打包exe文件

一、背景介绍

1.1、flutter正常打包windows应用

使用flutter build windows命令即可打包如下:

在这里插入图片描述

可以看到这里的文件是免安装的、可直接执行的文件,但是如果用来给客户使用,就很不方便,
可不可以打包成大家常用的.exe文件,目前我找到的方案是使用Flutter Distributor,
除了打包exe,还可以打包其他程序格式,包括进行发布,功能很多,这里只分享如何打包exe,
其他功能,大家可以去看他们的官网
官网地址如下:
https://distributor.leanflutter.dev/zh-hans/getting-started/

在这里插入图片描述

二、引入Flutter Distributor

#安装命令
dart pub global activate flutter_distributor

三、使用Flutter Distributor

3.1、安装Inno Setup 6

因为Flutter Distributor打包exe是基于inno setup 6实现的,默认官网是英文版本的,打包exe之后点击安装都是英文,所以我找到了中文版的inno setup 6和中文语言包,下载地址如下:

链接:https://pan.baidu.com/s/1QZUYdG1v7twVFap6jJJbcw?pwd=uou8 
提取码:uou8 

最好默认安装路径,也就是C盘,我安装到别的目录发现Flutter Distributor找不到,然后将中文包文件ChineseSimplified.isl复制到C:Program Files (x86)Inno Setup 6Languages目录下

3.2、添加distribute_options.yaml添加到你的项目根目录

output: dist/
releases:
  - name: dev
    jobs:
      - name: release-windows
        package:
          platform: windows
          target: exe
          build_args:
            dart-define:
              APP_ENV: dev

3.3、添加make_config.yaml 到你的项目 windows/packaging/exe 目录

# AppId 的值唯一标识此应用。
# 不要在其他应用的安装程序中使用相同的 AppId 值。
# 以下为示例代码,实际根据你的项目进行替换
app_id: 5B599538-42B1-4826-A479-AF079F21A65D
publisher: LeanFlutter
publisher_url: https://github.com/leanflutter/flutter_distributor
display_name: Hello 世界
create_desktop_icon: true
install_dir_name: HELLO-WORLD
locales:
  - en
  - zh

3.4、开始生成exe文件

#打包exe命令
flutter_distributor package --platform windows --targets exe

在这里插入图片描述
如果成功生成如上图所示,那就是成功了,这个exe包含了flutter相关的dll,可以直接安装使用