【问题标题】:How to remove flutter observatory debugger and profiler for linux release?如何删除用于 linux 版本的颤振天文台调试器和分析器?
【发布时间】:2025-12-04 09:30:01
【问题描述】:

我正在创建 linux 应用程序并希望从最终版本中删除颤振天文台调试器和分析器。 我在 main.dart 上添加了这个:

MaterialApp(
      debugShowCheckedModeBanner: false
)

但是,它只是从应用程序中删除横幅。 当我尝试运行(发布)时:

user@user:~/Desktop/linux/myapp/build/linux/release$./myapp
flutter: Observatory listening on http://127.0.0.1:36177/4MsXpokkp9k=/

【问题讨论】:

  • $flutter run -d linux 运行应用程序。 $flutter build linux 构建应用程序。它将位于yourapp/build/linux/release/。但正如@smorgan 解释的那样“Linux 目前仅支持调试模式”。

标签: flutter


【解决方案1】:

下面的答案不再与当前版本的 Flutter 相关。现在支持发布模式,因此发布版本不会有观测站。


从最终版本开始 [...] 当我尝试运行时(发布)

希望您在构建时看到了巨大的横幅,上面写着您正在构建的是有效的调试模式,并且文档说目前 Linux 仅支持调试模式。现在调试和发布版本之间基本上没有区别。您不应该尝试在 Linux 上制作“最终版本”;没有办法这样做。

可以通过引擎参数禁用天文台。您还可以禁用检查模式,而不是在检查模式下运行(断言仍将触发),同时关闭您正在这样做的横幅警告。要同时执行这两个操作,请将其添加到 main.cc:

#ifdef NDEBUG
  arguments.push_back("--disable-observatory");
  arguments.push_back("--disable-dart-asserts");
#endif

尽管如此,这仍然不会为您提供发布版本;它会为您提供一个禁用了一些功能的调试版本。实际制作发布版本(除其他外,已经禁用这些东西)的方法是等待release mode support

【讨论】: