谷歌的一波更新,1.5版本,flutter实现了桌面和web的兼容,额,不过升级flutter sdk后各种坑,以前demo各种插件不兼容,只能说这体验真心不好。好了,以上只是吐槽而已。进入正题,既然flutter兼容了桌面程序,那我们就打包一个桌面程序来瞧瞧。嗯,打包桌面程序也是有点曲折,首先得安装go语言的编译环境。
1、安装go环境编译环境
到go的官网上面下载安装包进行安装,我是下载的下载 go1.12.5.windows-amd64.msi进行安装的。安装完配置环境变量把C:\Go\bin加入到PATH里面,然后打开cmd输入命令行go可以查看下环境是否OK
2、安装完go环境之后,然后下载一个hover库
go get -u github.com/go-flutter-desktop/hover
3、准备一个flutter项目,我就拿android studio创建的初始demo来演示了。
创建好demo后,里面不是有一个main.dart吗?
创建一个main_desktop.dart,这个文件和mian.dart同一个目录
然后把main.dart的内容复制到main_desktop.dart里面,修改下一个地方
例如main.dart的是
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
而main_desktop.dart的是
import 'package:flutter/foundation.dart' show debugDefaultTargetPlatformOverride;
void main() {
debugDefaultTargetPlatformOverride = TargetPlatform.fuchsia;//这句话很关键
runApp(MyApp());
}
第三部如果想要省略的同学可以直接下载我的github的项目,进入直接进入第四部https://github.com/Break369/flutterdemo
4、处理完后,就把flutter打包出一个桌面代码,通过hover来进行打包,通过cmd进入你的flutter项目目录,然后执行下面的命令行,我演示的项目名字是myapp。github.com/my-organization/这个是必须要写上去的
hover init github.com/my-organization/myapp
具体也可以看看hover
恭喜,执行这个命令的时候,会提示你某个环境没配好,
错误码为exec: "gcc": executable file not found in %PATH%
嗯,别气馁,继续把这个环境补上去
5、配置mingGW环境,进入mingw-w64, 点击“Download”按钮,
进行安装
温馨提示安装过程中需要下载各种包,所以贼慢。耐心等待就好了。
安装完之后,继续配置环境变量,进入把安装的C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin配置到PATH下面,然后打开cmd,输入gcc -v
恭喜安装成功,然后回过头,关闭cmd,重新执行第四步骤
出现这个
代表第四步执行成功
执行完之后你进入你的flutter项目下,就发现在android,和ios的文件夹同级有一个desktop文件夹,那个就是桌面程序代码