原文
https://medium.com/flutter-community/publishing-flutter-windows-apps-to-microsoft-partner-center-with-codemagic-b1962575510c
前言
这篇文章最初发表在 Codemagic 博客上,由 Souvik Biswas 撰写
Flutter 允许您使用单个代码库为移动设备、网络、桌面和嵌入式设备构建应用程序。2.0 的引入使得试用桌面应用程序变得更加容易,因为这个选项现在可以在 stable 频道上使用。
本文将帮助您开始使用 Flutter 构建 Windows 桌面应用程序,生成一个版本 MSIX 构建,并使用 Codemagic 将该应用程序发布到微软合作伙伴中心。
如果你正在寻找一个建立 Flutter 桌面应用程序的更一般的入门指南,包括设计自适应布局,请查看这篇文章。
https://blog.codemagic.io/flutter-desktop-apps-intro/
代码
https://github.com/sbis04/flutter_desktop_sample
https://github.com/sbis04/flutter_desktop_sample
正文
为 Windows 创建一个 Flutter 应用程序
在你开始创建一个新的 Flutter 应用程序之前,你应该在你的 Windows 系统上安装 Flutter SDK。如果你没有安装 Flutter,按照安装指南这里。
https://docs.flutter.dev/get-started/install/windows
如果你已经在你的系统上安装了 Flutter,确保版本在 2.0 以上。您可以使用 Flutter – version 命令检查您的 Flutter 版本。
要构建 Flutter 窗口应用程序,您应该在您的系统上安装 Visual Studio 2019 。在安装 Visual Studio 时,如果你想构建 win32 应用程序,可以使用“带 c + + 的桌面开发”工作负载,如果你想构建 UWP 应用程序,可以使用“通用 Windows 平台开发”工作负载。
默认情况下,Flutter 使用 win32 来构建 Windows 应用程序:
flutter config --enable-windows-desktop
为了构建 UWP (通用 Windows 平台)应用程序,你需要在 Flutter 的开发通道。运行以下命令:
flutter channel dev
flutter upgrade
flutter config --enable-windows-uwp-desktop
运行 flutter doctor
,检查是否有任何未解决的问题。要验证窗口是否列为可用设备之一,请运行 flutter devices
命令。
要创建一个新的 Flutter 应用程序,请使用以下命令:
flutter create <project_name>
将
_<project_name>_
替换为您希望在项目中使用的名称ーー例如,flutter create flutter_desktop_sample。
上面的命令将创建一个 Flutter 计数器应用程序项目。你可以使用以下命令在 Windows 系统上运行它:
flutter run -d windows
要使用 UWP 运行应用程序,请使用以下命令:
flutter run -d winuwp
Windows UWP 应用程序需要一个沙盒环境才能运行,所以系统会提示您启动它。在一个单独的窗口中打开具有管理员权限的 PowerShell,并运行以下命令:
checknetisolation loopbackexempt -is -n=[APP_CONTAINER_NAME]
运行此进程后,返回到前一个窗口并按“ y”。这应该可以在 Windows 上启动 UWP 应用程序。
生成应用程序的可执行文件
为 Flutter Windows 应用程序生成.exe 可执行文件非常简单,只需运行以下命令:
flutter build windows
您可以通过访问 <project_root>/build/windows/runner/Release/<app_name>.exe
来找到生成的文件。执行。这个 .exe
文件可以分发给任何用户,用户可以直接在自己的系统上运行它。
有一个更安全和推荐的替代方法 .exe
文件ーー MSIX 包。MSIX 包的一些优点是:
- Windows 使用独立的环境安全地安装 MSIX 生成。它还有助于完全卸载应用程序。当你使用一个
.exe
即使在应用程序被删除之后,注册表文件中的更改仍然保留。 - 要将您的应用程序发布到 Microsoft Store,您需要一个 MSIX 包
.exe
文件不能直接发布。 - 可以有两种类型的 MSIX 包: 一种在本地运行,另一种用于分发到 Microsoft Store。可以将要生成的 MSIX 包的类型指定为生成参数。
在研究这两种类型的 MSIX 构建之前,让我们先创建一个 Microsoft 合作伙伴中心帐户。