需要进行混淆-扑扑的应用程序知道其功能名称,可以使用Dart的StackTrace类显示该名称。有 下测试 的混淆支持。要启用它:
对于Android :
添加到文件
[ProjectRoot]/android/gradle.properties:
extra-gen-snapshot-options=--obfuscate
对于iOS:
首先,编辑
[FlutterRoot]/packages/flutter_tools/bin/xpre_backend.sh:
找到该
build aot呼叫,并为其添加一个标志,
${extra_gen_snapshot_options_or_none}定义为:
local extra_gen_snapshot_options_or_none=""if [[ -n "$EXTRA_GEN_SNAPSHOT_OPTIONS" ]]; then extra_gen_snapshot_options_or_none="--extra-gen-snapshot-options=$EXTRA_GEN_SNAPSHOT_OPTIONS"fi
要应用更改,请在[FlutterRoot]中运行
git commit -am "Enable obfuscation on iOS" flutter
(在提交重建Flutter工具后运行“ flutter”。)
接下来,在您的项目中,将以下内容添加到
[ProjectRoot]/ios/Flutter/Release.xcconfig文件中:
EXTRA_GEN_SNAPSHOT_OPTIONS=--obfuscate
PS:还没有尝试过 https://github.com/dart-
lang/sdk/issues/30524中提到的–
save-obfuscation-map标志 ,正如@mraleph所提到的
,对混淆的 测试* 还不 是很好。 *



