debugging - Flutter 在编译发布时是否删除 Debug模式代码?

标签 debugging dart flutter assert production

我想知道像下面这样将密码直接放在 Dart 代码中是否安全。 Flutter 在编译发布的时候会去掉代码吗?当然我要确保代码不能被反编译,这样才能提取用户名和密码。

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

if(inDebugMode){
  emailController.text = 'random@email.com';
  passwordController.text = 'secret';
}

最佳答案

您提供的代码不会进行 tree-shaking。因为 isInDebugMode 不是常量。

相反,您可以这样使用 assert:

assert(() {
  emailController.text = 'random@email.com';
  passwordController.text = 'secret';
  return true;
}());

关于debugging - Flutter 在编译发布时是否删除 Debug模式代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53225385/

相关文章:

c - 为什么我的 C 应用程序没有生成 coredump

magento - 调试加载问题

go - gRPC 可以集成到 flutter-web 中吗?

flutter - 在构造函数中使用方法来初始化参数?

flutter - 插件 `flutter_webview_plugin` 使用已弃用的 Android 嵌入版本

ios - 用户是否可以将他们的整个应用程序目录发送给我以供分析?

java - Java 运行时库 (rt.jar) 中的断点

flutter - 为什么我的自定义 flutter 脚手架会阻止状态刷新?

function - Dart匿名功能混淆

flutter - 如何让切换按钮占据容器中的整个空间?