Debugging 编译发行版时,颤振是否删除调试模式代码?
我想知道直接在下面的Dart代码中放置密码是否安全。在编译代码以供发布时,Flatter是否删除了代码?当然,我想确保代码不能被反编译,这样就可以提取用户名和密码Debugging 编译发行版时,颤振是否删除调试模式代码?,debugging,dart,flutter,assert,production,Debugging,Dart,Flutter,Assert,Production,我想知道直接在下面的Dart代码中放置密码是否安全。在编译代码以供发布时,Flatter是否删除了代码?当然,我想确保代码不能被反编译,这样就可以提取用户名和密码 bool get isInDebugMode { bool inDebugMode = false; assert(inDebugMode = true); return inDebugMode; } if(inDebugMode){ emailController.text = 'random@email.com'
bool get isInDebugMode {
bool inDebugMode = false;
assert(inDebugMode = true);
return inDebugMode;
}
if(inDebugMode){
emailController.text = 'random@email.com';
passwordController.text = 'secret';
}
当
inDebugMode
是常量值时,树抖动将删除该代码
“安全”是一个强有力的词,尽管摇动树会删除代码。您可能会犯错误,导致树抖动以保留代码。
您可能会将代码提交给CVS回购协议。
你可以用
- 常量值
- 不同的
文件与lib/main.dart
flatter run-t lib/debug\u main.dart
- 或者前面提到的assert方法(另请参见)
isInDebugMode
不是常数
相反,您可以通过以下方式使用assert
:
assert(() {
emailController.text = 'random@email.com';
passwordController.text = 'secret';
return true;
}());
这意味着这里没有
assert(() {
emailController.text = 'random@email.com';
passwordController.text = 'secret';
return true;
}());