
大家好!
今天,我将向您展示如何运行现有的Flutter桌面应用程序(MacOS,Linux或Windows)。
首先,您必须将Flutter频道从发行版切换到主版。 为此,您需要在命令行上运行以下命令:
flutter channel master flutter upgrade
然后,您需要将环境变量ENABLE_FLUTTER_DESKTOP设置为true 。
为此,请在命令行上执行以下操作:
Mac OS和Linux
export ENABLE_FLUTTER_DESKTOP=true
Windows PowerShell
$env:ENABLE_FLUTTER_DESKTOP="true"
Windows CMD
set ENABLE_FLUTTER_DESKTOP=true
之后,您应该在可运行Flutter的可用设备列表中看到您的桌面。 要验证这一点,请运行flutter devices命令

从屏幕截图中可以看到,Mac OS出现在我的可用设备列表中。
接下来,我们需要查看以下存储库:
https://github.com/google/flutter-desktop-embedding
我们对示例目录的内容感兴趣,即macos , linux和Windows文件夹。 这些是各个平台的运行程序-Flutter在其中运行的本机应用程序。 与使用flutter create命令创建项目时在项目目录中看到的完全相同。
只需将感兴趣的平台的运行程序复制到项目目录即可。 此步骤是必需的,因为颤动创建尚不支持为桌面自动创建流道。
已经差不多了。 现在您需要稍微修改一下main.dart
添加以下导入:
import 'dart:io' show Platform; import 'package:flutter/foundation.dart' show debugDefaultTargetPlatformOverride;
更改main()如下:
void main() { debugDefaultTargetPlatformOverride = TargetPlatform.fuchsia; [...] }
最后一步。 运行以下命令:
flutter packages get flutter precache --linux
做完了! 现在只需运行flutter run ,您的应用程序将在桌面上构建!
重要说明:
应该记住的是,您在Flutter应用程序中使用的许多第三方插件都无法在桌面上运行,因为它们依赖于本机API。 将来,情况当然会改变,但是到目前为止,最好不要在严重的情况下使用此方法。