Flutter go-flutter desktop 填坑

6,417 阅读3分钟

用dart转换C#版本的JsonToDart,最后打包的时候,发现官方没有打包方式,而且还不支持快捷键,所以最后选择使用go-flutter来打包(虽然打出来也是debug版本,但好歹有生成物)

网上有很多大佬都有了第一步的尝试go-flutter攻略(进坑姿势),比如Go Flutter Desktop (一) 初探以及 GO Flutter Desktop Mac版小白体验,按照大佬的指示,我最终也成功地打出了mac的产物。

本应该很满足的,但是我是一个软粉,网上居然没有go-flutter关于windows的环境配置的文章(全是mac的),所以周末抽空在家里,尝试了一下,遇到一些问题,最终也成功打出包 windows-x64-go-flutter.zip

下面跟着我按照流程走一遍。

go安装和环境配置

go这是go的源码,如果你选择从源码构建,请参考 从源码进行安装

我们这里选择直接装下载安装包

我选择的这个,可以根据自己的环境下载

下载好之后,我在D盘新建一个目录,go/source作为go的安装目录 go/project作为go的工作目录

接下来我们需要去配置环境变量,从小娜这里输入,快速进去环境变量设置,windows7的小伙伴自行百度。

新增一个环境变量GOROOT 和GOPAHT

然后在环境变量PATH新增 %GOROOT%\bin, 我记得windows7下面好像写%GOROOT%\bin; 多一个;

记得重启电脑,这样环境才会生效。cmd或者powershell里面输入go,不报错,说明我们的go环境就安装配置好了

hover安装和环境配置

hover is a simple build tool to create Flutter desktop applications. 就是说专门来拿创建flutter desktop应用的.

cmd或者powershell 执行

go get -u github.com/go-flutter-desktop/hover

稍等一会工具hover就会被下载到GOPATH制定的路径下面了

hover init

接下来,我们到你的flutter项目的目录下面

This is usualy the path for your project on github or a self-hosted git service. If you are unsure, just make something up, it can always be changed later. 这个路径是你的flutter项目github路径,如果你不确定,也没关系,后面能修改,我这里路径 为github.com/fluttercandies/JsonToDart

执行 hover init github.com/fluttercandies/JsonToDart

完成之后就会在目录下面生成desktop目录。 desktop/assets/logo.png 这个是启动的图标,你可以更换 desktop/cmd/options.go 你可以在这里添加插件或者做一些设置 比如

flutter.WindowInitialDimensions(1920, 1080),

flutter.ForcePixelRatio(2), // retina set to 2

main_desktop.dart

你需要创建main_desktop.dart作为go-flutter编译应用的入口 你可以直接调用你原来flutter项目的main.dart

import 'main.dart' as m;

void main() {
  m.main();
}

hover run

你可以通过该命令启动desktop程序

hover build

执行 hover build github.com/fluttercandies/JsonToDart

第一次会去下载各种东西,运行指令的时候报了一个错误

在网上查看了一下,需要下载MinGW

MinGW

MingW 分 32位64位版本

下载对应的版本之后安装,注意选择,我是x64

记住安装的地址,比如我的是

按照完毕之后,我们需要去配置下环境变量,在PATH变量中添加刚才安装路径的bin

记得重启电脑,这样环境才会生效。

再次执行 hover build github.com/fluttercandies/JsonToDart

如果是第一次,会下载一堆东西,执行好之后如图

最后在目录desktop下面,就能找到产物了,你可以把assets里面的图标换成自己的

windows下面执行hover build 生成的exe

mac下面执行hover build 生成的是exec , 如何打包go的产物,请自行查看

坑大概讲完了,最后邀请,有心为Flutter生态做贡献的小伙伴加入Flutter Candies,一起开心地写bug,生产可爱的Flutter 小糖果QQ群:181398081

最最后放上Flutter Candies全家桶,真香。