目录

  • 发布windows版
    • 1.为现有的 Flutter 应用程序添加桌面支持
    • 2..创建main_desktop.dart文件
    • 3.hover安装和环境配置
    • 4.初始化,并打包
    • 坑1

发布windows版

我们希望你完成迁移后尽快将其发布,可以作为预览版:

参考文章:
https://dart.cn/null-safety/migration-guide

迁移桌面
flutter config --enable--desktop

1.为现有的 Flutter 应用程序添加桌面支持

要将桌面支持添加到现有 Flutter 项目,请从项目根目录在终端中运行以下命令:

$ flutter create --platforms=windows,macos,linux .

这会将必要的桌面文件和目录添加到您现有的 Flutter 项目中。要仅添加特定桌面平台,请将platforms列表更改为仅包含您要添加的平台。

必须下载vs

https://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=Community&rel=16

可以看到build目录下已经有windows

2…创建main_desktop.dart文件

比如我的main.dart文件是这样的

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:outlook/constants.dart';
import 'package:outlook/screens/main/main_screen.dart';void main() {runApp(MyApp());
}class MyApp extends StatelessWidget {// This widget is the root of your application.@overrideWidget build(BuildContext context) {return MaterialApp(debugShowCheckedModeBanner: false,title: 'Flutter blog',theme: ThemeData(),home: MainScreen(),);}
}

那么我的main_desktop.dart文件就是这样的

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:outlook/constants.dart';
import 'package:outlook/screens/main/main_screen.dart';void main() {debugDefaultTargetPlatformOverride = TargetPlatform.fuchsia;//这句话很关键runApp(MyApp());
}class MyApp extends StatelessWidget {// This widget is the root of your application.@overrideWidget build(BuildContext context) {return MaterialApp(debugShowCheckedModeBanner: false,title: 'Flutter blog',theme: ThemeData(),home: MainScreen(),);}
}

flutter和go都是google出品,如何安装做一下不做介绍

3.hover安装和环境配置

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

稍等会hover就会出现在go语言的SDK下面的bin文件夹下

你又会发现报错:**exec: “gcc”: executable file not found in %PATH%**这是缺少一个环境变量,别急,补上去,
https://sourceforge.net/projects/mingw-w64/files/mingw-w64/

安装过程会下载很多东西,都到这一步了,不要放弃,接下来配置环境变量

C:\Program Files (x86)\mingw-w64\i686-6.2.0-posix-sjlj-rt_v5-rev1\mingw32\bin

4.初始化,并打包

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

hover init github.com/my-organization/flutter_bloc_super #前面的地址固定,后面写你项目的名字

就会出现一个go文件夹

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

hover run

最后一步大功告成

变身!!!!!
如图的路径就是打包后生成的exe文件,双击执行,就好了。

坑1

如果报错goland编译报错cc1.exe: sorry, unimplemented: 64-bit mode not compiled in

主要原因是本地的cc1.exe版本不是64位的,在64位环境下无法编译

请下载这个、https://sourceforge.net/projects/mingw-w64/

flutter项目打包.exe文件发布windows版相关推荐

  1. VS2019项目打包exe文件教程

    VS2019项目打包exe文件教程 需要的环境 生成项目EXE 需要的环境 在使用Vs2019打包项目生成EXE文件,我们需要一个插件 这里提供两种安装插件的方法 Microsoft Visual S ...

  2. python网易云音乐下载打包exe文件,Windows可运行

    下载原理: 通过官方的下载链接http://music.163.com/song/media/outer/url?id=歌曲id.mp3, 分析网页寻找歌曲id组装成song_url,urlretri ...

  3. Python打包工具Pyintealler打包py文件为windows exe文件过程及踩坑记录+实战例子

    Python打包工具Pyintealler打包py文件为windows exe文件过程及踩坑记录+实战例子 目录 Python打包工具Pyintealler打包py文件为windows exe文件过程 ...

  4. CLion C++开发QT ,串口通信,JSON文件写入读取,CRC-16校验,图片转二进制(qrc转rcc)并将项目打包exe可执行文件。

    前言: QT自带的编译器非常不好用.今天给大家介绍一款很方便强大的QT开发工具CLion. QT的下载配置安装,网上很多教程,就不介绍了. QT 串口通信,接收下位机消息,发送消息给下位机. QT J ...

  5. Pyinstaller打包exe(包括打包资源文件 绝不出错版)

    Pyinstaller打包exe(包括打包资源文件 绝不出错版) 依赖包及其对应的版本号 PyQt5 5.10.1 PyQt5-Qt5 5.15.2 PyQt5-sip 12.9.0 pyinstal ...

  6. Py打包应用程序(zipapp打包.pyz文件、pyinstaller打包exe文件)

    ''' Py打包应用程序.py (zipapp打包.pyz文件.pyinstaller打包exe文件)注意: 一.zipapp模块 打包档案包 的 命令行语法: python -m zipapp so ...

  7. python封装方法有几种_Python打包exe文件方法汇总【4种】

    Python 打包 exe 文件方法汇总 Python 作为解释型语言,发布即公开源码, 虽然是提倡开源但是有些时候就是忍不住想打包成 exe ,不仅仅是为了对代码进 行加密,而是为了跨平台.防止有些 ...

  8. 好用的python打包软件_Python打包exe文件方法汇总【4种】

    title: Python打包exe文件方法 copyright: true top: 0 date: 2018-08-11 21:08:21 tags: 打包 categories: Python进 ...

  9. java应用程序利用Exe4j打包exe文件

     java应用程序利用Exe4j打包exe文件 今天上课给学生介绍利用Myeclipse打jar包和exe文件,随便就随手写了下文档供大家参考,希望对大家有用. 1.      使用简介: 把java ...

最新文章

  1. R语言使用ggplot2包使用geom_dotplot函数绘制分组点图(改变图例位置)实战(dot plot)
  2. 使用fprintf()函数格式化输出至磁盘文件和是stdout
  3. linux挂载windows共享的文件夹
  4. HDU2015校赛 The Country List
  5. ThinkPHP集成万象优图
  6. SAP云平台cf push命令报错误码44的解决方法
  7. 第六章 参数估计(续)
  8. shell 字符串切割
  9. javascript 中的 call
  10. 《HTML5和CSS3快速参考》——1.3HTML5的品牌化
  11. ORA-09925: Unable to create audit trail file 在DBCA时
  12. lampp mysql 等待响应时间很长_Apache 打开网页的时候等待时间过长的解决方案
  13. MacOS六个常用的终端命令
  14. 新浪通行证在线申诉找回密码业务逻辑错误导致严重安全漏洞
  15. 直流开环调速系统 simulink仿真
  16. python爬取qq空间相册图片_如何用 Python 爬取 QQ 空间说说和相册?
  17. 我来到广东第一“鬼城”,打算买房安家
  18. java计算方法所耗费的时间
  19. 国腾GM7123C:功能RGB转VGA芯片方案简介
  20. java去掉字符串的空格_如何去掉字符串中的空格?

热门文章

  1. 热泵精馏_精馏干货16 || 分子蒸馏
  2. 关于百度网盘限速第三方客户端的提醒
  3. pymysql连接mysql_python使用MYSQL数据库
  4. Linux配置基础命令
  5. kafka linux客户端,kafka linux 客户端操作命令
  6. laravel redis mysql_Laravel 5.1 Redis 缓存配合 MySQL 数据库实现「用户最后活跃时间」功能...
  7. mysql类 php100_PHP100中,制作自己的PHP.MYSQL类中:Access denied for user ''@'localhost' (using password: NO)...
  8. java wcf 未提供用户名_WCF的用户名密码认证
  9. apache 部署python3_flask+apache2+wsgi+python3 部署(挖坑记)
  10. android线程间通信的几种方法_Android 技能图谱学习路线