将Flutter桌面应用程序放在一起

图片

大家好!


今天,我将向您展示如何运行现有的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


我们对示例目录的内容感兴趣,即macoslinuxWindows文件夹。 这些是各个平台的运行程序-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。 将来,情况当然会改变,但是到目前为止,最好不要在严重的情况下使用此方法。

Source: https://habr.com/ru/post/zh-CN453092/


All Articles