需要进行混淆-扑扑的应用程序知道其功能名称,可以使用Dart的StackTrace类显示该名称。有 的混淆支持。要启用它:
: 添加到文件[ProjectRoot]/android/gradle.properties
:
extra-gen-snapshot-options=--obfuscate
首先,编辑[FlutterRoot]/packages/Flutter_tools/bin/xcode_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所提到的 ,对混淆的 *