如何区分代码中颤振中的调试和发布模式? [复制]
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”错误?
我想用我的 android 手机作为模拟器在 windows 7 上运行颤振。在我的调试模式下进行了调整。如何解决颤振医生命令的问题