Flutter开发桌面端程序

2021-10-27 10:04:18 浏览数 (1)

前言

先说结论,目前Flutter还不能作为生成环境的桌面开发技术,这里仅作为尝鲜来学习。

比如在Windows上目前还不支持发布模式,仅支持调试模式,这意味着编出来的桌面程序,始终有一个黑框控制台,且不断的输出日志。

环境配置

Flutter环境

安装Flutter

下载Flutter SDK

解压,比如我放到了D:Toolsflutter目录

设置环境变量,添加

D:Toolsflutterbin

开启Windows支持

代码语言:javascript复制
flutter config --enable-windows-desktop

目前正式版已经支持桌面端,如果想尝鲜新的特性可以切换到其他分支。

设置Flutter镜像

添加环境变量

属性

PUB_HOSTED_URL

https://pub.flutter-io.cn

FLUTTER_STORAGE_BASE_URL

https://storage.flutter-io.cn

查看设置是否成功

CMD

代码语言:javascript复制
echo %PUB_HOSTED_URL%
echo %FLUTTER_STORAGE_BASE_URL%

PowerShell

代码语言:javascript复制
$env:PUB_HOSTED_URL
$env:FLUTTER_STORAGE_BASE_URL

查看所有的环境变量

代码语言:javascript复制
ls env:

切换其他分支

将flutter切换到beta分支上

代码语言:javascript复制
flutter channel beta

flutter 分支介绍(运行flutter channel命令可以看到当前所在版本):

  • master 最新版本,有新特性功能,也有新的bug
  • dev 经过全面测试的版本,相比master会更稳定
  • beta 每个月最稳定的dev版本会升级成beta
  • stable 稳定版,生产环境建议使用该版本

步骤

代码语言:javascript复制
flutter channel beta
flutter channel #查看当前在哪个分支,检测是否切换成功
flutter upgrade #升级
flutter doctor #检测flutter环境,未安装的会报红提示

C 环境

Flutter打包桌面端程序需要有C 开发环境

安装Visual Studio,下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/ 下载一下就ok了

创建运行项目

创建项目

代码语言:javascript复制
flutter create myapp

运行项目

代码语言:javascript复制
cd myapp
flutter run

操作如图

输入1,程序就运行起来了。

项目生成的目录如下

程序打包

配置GO环境

https://golang.google.cn/dl/

下载GO

安装后它会自动添加环境变量

查看版本

代码语言:javascript复制
go version

成功显示

go version go1.16.3 windows/amd64

设置GO的代理地址

设置环境变量GOPROXY=https://goproxy.cn

修改默认的GOPATH

注意

修改这样主要是方便我们下载的三方程序默认在Go目录下,环境变量中不要包含bin,否则会出现两层bin目录。

配置GCC环境

https://sourceforge.net/projects/mingw-w64/files/mingw-w64/

解压后添加环境变量

代码语言:javascript复制
D:Toolsmingw64bin

hover安装和环境配置

代码语言:javascript复制
go get -u github.com/go-flutter-desktop/hover

稍等会hover就会出现在GOPATH

即go语言的SDK下面的bin文件夹下

进入项目下初始化

代码语言:javascript复制
cd myqpp
hover init .

初始化后项目下会产生一个go文件夹

生成这个文件夹之后再执行

代码语言:javascript复制
hover run

它会自动创建main_desktop.dart文件

项目下gobuildoutputswindows-debug_unopt就会自动生成exe文件。

构建

代码语言:javascript复制
hover build windows

目前Windows环境还无法构建。

目前直接将Flutter App打包为桌面端程序,仍然会存在一些可能的兼容性问题

另外go-flutter-desktop项目还不支持发布模式,仅支持调试模式,这意味着编出来的桌面程序,始终有一个黑框控制台,且不断的输出日志

0 人点赞