代码之家  ›  专栏  ›  技术社区  ›  Carmen DiMichele

flutter/dart中是否有类似编译器开关的东西来告诉我们这是不是一个调试版本

  •  0
  • Carmen DiMichele  · 技术社区  · 2 年前

    我有一段flutter/dart代码,只想在构建调试时包含。我可以创建这样的自定义定义:

    import 'dart:developer';
    
    void main() {
      #if DEBUG
      log('This message will only be printed in debug mode');
      #endif
    
      // Other code that runs in both debug and release modes
    }
    

    …并像这样使用它。。。

    flutter build apk --dart-define=DEBUG=true

    但是,如果我不必记得设置那面旗帜,那就更好了。有更干净的方法吗?

    2 回复  |  直到 2 年前
        1
  •  2
  •   nlykk12    2 年前

    KDebugmode变量可能就是您要找的

    KdebugMode

        2
  •  1
  •   zysoft    2 年前

    @nlykk12提到的标志就是你需要的标志——它开箱即用。 在您的示例中,它将是:

    import 'dart:developer';
    
    void main() {
      if (kDebugMode) {
        log('This message will only be printed in debug mode');
      }
    
      // Other code that runs in both debug and release modes
    }
    

    要在调试模式下构建它,您只需要:

    flutter build apk --debug
    

    要确保您正在以发布模式构建:

    flutter build apk --release
    

    *(the --release 和 --debug )标志不仅适用于其他发行版 apk .