用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
下载对应的版本之后安装,注意选择,我是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全家桶,真香。