Flutter桌面应用问题日常记录
2022年 Flutter搭建桌面应用环境及build打包 ( .exe)启动文件
一步一个坑终于蹚出来了,起码能打成压缩包供用户使用。写的不好还望勿喷。Flutter打包 windows桌面端程序步骤,还是有点复杂的,看了好几篇文章,这里总结一下。以下是本人浏览过的文章。
主要参考文章:
Flutter 打包 windows桌面端程序步骤 Flutter 打包 windows桌面端程序步骤(生成.exe文件) Flutter桌面应用支持官网,里面介绍了window、linux、macOs下环境搭建及打包上架
先上一下效果
需要使用到的环境配置(亲测)
一、运行环境:Windows10系统、AndroidStudio4.2.2、VisualStudio 2019(官网举例安装2022)、FlutterSDK2.10.4(一定是2.10及以上版本)
首先要确保环境变量的配置:
安装Flutter SDK(确保Android和Visual Studio都没有问题)
安装go环境(打包需要go环境)
打开CMD控制面板输入一下命令,开启window支持
flutter config --enable-windows-desktop
2、创建Flutter项目
flutter create filewindows
结果如下(注意:这个时候,是没有go文件夹的):
image.png
3、安装VisualStudio
在Android Studio打开刚刚的工程flutter_test_01,在下面android studio的控制台Terminal,执行flutter doctor,查看一下当前环境,如果你的环境如下面那样,也就是说flutter doctor检测到环境没有报错,那么下面的步骤可以跳过。
image.png
如果有报错如下面,请继续往下面看,解决此问题
image.png
提示我们未安装Visual Studio,下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/下载一下就可以了,如果你现在flutter的版本和我的一样是2.0版本的,下载 2019版本的visual studio。其他的版本请参考自己的flutter要求的哈。
其中重点要关注下,需要安装win10 SDK,否则会有问题
image.png
如上面,打开 Visual Studio Installer ------->点击修改,--------->然后如下图安装,就可以了
image.png
4、打包flutter 桌面端程序
1)go安装和环境配置
浏览器打开:https://studygolang.com/dl直接下载
本人的版本是:go version go1.15.1 windows/amd64,,本人下载的是go1.15.1 windows-amd64.msi文件;下载好之后,本人在D盘新建一个目录,go/source作为go的安装目录;同时我在C盘新建一个目录go(后面打包过程中会生成一些文件,放在此文件夹下)
image.png
image.png
2)设置环境变量
操作步骤:我的电脑--->右键---->属性----->高级系统设置----->环境变量
新增一个GOROOT和GOPATH及一个代理GOPROXY
image.png
image.png
image.png
然后如下图操作,环境变量PATH新增 %GOROOT%\bin;%GOPATH%\bin,新增完成,要记得,点击确定,确定,让设置生效
image.png
image.png
3)验证环境变量,有没有设置成功
快捷键(键盘上的win键+R键)重新打开一个命令行窗口;运行go命令,不会报错的话,说明环境变量设置成功
image.png
4)初始化
cd到flutter_test_01目录,接着命令hover init,最终会在工程目录下生成一个go文件夹(在新建工程的时候,是没有go文件夹的),如下
image.png
image.png
5)打包 接着上面的步骤 ,输入命令hover run进行打包
你又会发现报错:exec: “gcc”: executable file not found in %PATH%这是缺少一个环境变量,别急,补上去,
https://sourceforge.net/projects/mingw-w64/files/mingw-w64/
image.png
6)mingw-w64下载完成后,进行安装
image.png
这个地方需要选择x86_64的版本,不过如果你的电脑还是32位的话,选择对应的32位版本,如下图
image.png
这一步建议,安装路径就用默认的,而且要把这个路径复制一下,后面会用到!!!(复制路径的方法:鼠标右键一下,选择“全选”,再右键一下,选择“复制”)
C:\Program Files\mingw-w64\x86_64-6.2.0-posix-seh-rt_v5-rev1
image.png
image.png
7)配置环境变量
找到mingw-w64的安装路径,(根据上面第(6)步,复制的路径去找完整的路径)我的如下 :
·C:\Program Files\mingw-w64\x86_64-6.2.0-posix-seh-rt_v5-rev1\mingw64\bin
如果你的电脑是32位的话,可能就要去C:\Program Files (x86)下面去找
image.png
image.png
配置完成,要记得“确定”,“确定”,“确定”!!
8)hover run命令 将我们exe文件运行起来
如果在打包的时候系统会帮我们自动生成 main_desktop.dart 文件,就输入y
image.png
或者如下图这样,能正常运行起来,,最终效果就是exe文件正常运行起来了
image.png
image.png
最后
如果要把exe文件,发送给客户使用的话,不能直接只给一个.exe文件给客户,因为.exe文件要运行起来,需要依赖其他文件,如.dll文件,还有其他资源文件等。
正确的做法是要把.exe上级文件夹发给客户,也就是说要把windows-debug_unopt文件夹发送给客户使用;顺便说一下,.exe文件打包出来是在go的文件夹下面,如下图
image.png
windows-debug_unopt文件夹下面有.exe文件 及 其依赖的文件,如下
打包命令:flutter build apk/windows
如果提示类似error问题,说明引用的库含有不支持safety模式了,需要在运行或编译时加上
--nu-sound-null-safety