flutter项目打包发布windows可执行文件
接上篇
8发布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/material.dart';
import 'package:get/get.dart';
import 'package:news/screens/main/main_screen.dart';
import 'constants.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return GetMaterialApp(
debugShowCheckedModeBanner: false, //取消debug图标
title: 'Flutter Demo',
theme: ThemeData(
primaryColor: kPrimaryColor,
scaffoldBackgroundColor: kBgColor,
elevatedButtonTheme: ElevatedButtonThemeData(
style: TextButton.styleFrom(backgroundColor: kPrimaryColor),
),
textTheme: TextTheme(
bodyText1: TextStyle(color: kBodyTextColor),
bodyText2: TextStyle(color: kBodyTextColor),
headline5: TextStyle(color: kDarkBlackColor),
),
),
home: MainScreen(),
);
}
}
那么我的main_desktop.dart文件就是这样的
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:news/screens/main/main_screen.dart';
import 'package:flutter/foundation.dart' show debugDefaultTargetPlatformOverride;
import 'constants.dart';
void main() {
debugDefaultTargetPlatformOverride = TargetPlatform.fuchsia;//这句话很关键
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return GetMaterialApp(
debugShowCheckedModeBanner: false, //取消debug图标
title: 'Flutter Demo',
theme: ThemeData(
primaryColor: kPrimaryColor,
scaffoldBackgroundColor: kBgColor,
elevatedButtonTheme: ElevatedButtonThemeData(
style: TextButton.styleFrom(backgroundColor: kPrimaryColor),
),
textTheme: TextTheme(
bodyText1: TextStyle(color: kBodyTextColor),
bodyText2: TextStyle(color: kBodyTextColor),
headline5: TextStyle(color: kDarkBlackColor),
),
),
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-w64i686-6.2.0-posix-sjlj-rt_v5-rev1mingw32in ”
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/
相关文章
- 金融服务领域的大数据:即时分析
- 影响大数据、机器学习和人工智能未来发展的8个因素
- 从0开始构建一个属于你自己的PHP框架
- 如何将Hadoop集成到工作流程中?这6个优秀实践必看
- SEO公司使用大数据优化其模型的5种方法
- 关于Web Workers你需要了解的七件事
- 深入理解HTTPS原理、过程与实践
- 增强分析:数据和分析的未来
- PHP协程实现过程详解
- AI专家:大数据知识图谱——实战经验总结
- 关于PHP的错误机制总结
- 利用数据分析量化协同过滤算法的两大常见难题
- 怎么做大数据工作流调度系统?大厂架构师一语点破!
- 2019大数据处理必备的十大工具,从Linux到架构师必修
- OpenCV中的KMeans算法介绍与应用
- 教大家如果搭建一套phpstorm+wamp+xdebug调试PHP的环境
- CentOS下三种PHP拓展安装方法
- Go语言HTTP Server源码分析
- Go语言HTTP Server源码分析
- 2017年4月编程语言排行榜:Hack首次进入前五十