如何区分代码中颤振中的调试和发布模式? [复制]

Posted

技术标签:

【中文标题】如何区分代码中颤振中的调试和发布模式? [复制]【英文标题】:How to differentiate between debug and release mode in flutter in code? [duplicate] 【发布时间】:2019-08-31 13:42:10 【问题描述】:

我只想在发布模式下拥有一些功能,而不是在调试模式下。越过它的时间越长,仅仅在开发过程中评论它不是一个好主意。因为在发布版本时总是有可能忘记它。

【问题讨论】:

见flutter.dev/docs/testing/debugging#debug-mode-assertions 【参考方案1】:

通过导入flutter/foundation.dart,此检查可使用***常量:

kReleaseMode

这比断言更好,因为它适用于摇树。

【讨论】:

摇树是什么意思? 编译器将删除未使用的代码。因此,如果您正在执行if (kReleaseMode) else ,那么编译器就会知道else 永远不会被执行,因此将其删除。【参考方案2】:

这对我来说效果很好。 声明如下函数;

bool get isInDebugMode 
  bool inDebugMode = false;
  assert(inDebugMode = true);
  return inDebugMode;

现在你可以像这样使用它:

if(isInDebugMode) 
    print('Debug');
 else 
    print('Release');

Source of information

================================================ ========================== 你也可以使用@Rémi Rousselet 给出的solution:

首先导入包:

import 'package:flutter/foundation.dart';

并像这样使用kReleaseMode

if(kReleaseMode)  // is in Release Mode ?
    print('Release');
 else 
    print('Debug');

【讨论】:

以上是关于如何区分代码中颤振中的调试和发布模式? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 intellij idea 中使用调试模式运行颤振“packages pub run build_runner build”?

我的颤振应用程序没有从 release.apk 中的 api 获取数据,但在调试模式下工作

如何修复颤振中的“终止原因:命名空间代码设计,代码 0x2”错误?

尝试在vscode中删除颤振调试工具栏

我想用我的 android 手机作为模拟器在 windows 7 上运行颤振。在我的调试模式下进行了调整。如何解决颤振医生命令的问题

iPhone 上的调试与发布模式