Flutter的Wiki提到混淆是发布模式的一种选择。 但是, flutter build 命令没有相关选项-请参阅: flutter help -v build apk
flutter help -v build apk
我在这里想念什么吗? 他们是否将混淆设置为默认设置? 混淆甚至与颤动有关吗?
任何对此的指针将不胜感激。
需要进行混淆-扑扑的应用程序知道其功能名称,可以使用Dart的StackTrace类显示该名称。有 下测试 的混淆支持。要启用它:
对于Android : 添加到文件[ProjectRoot]/android/gradle.properties:
[ProjectRoot]/android/gradle.properties
extra-gen-snapshot-options=--obfuscate
对于iOS: 首先,编辑[FlutterRoot]/packages/flutter_tools/bin/xcode_backend.sh: 找到该build aot呼叫,并为其添加一个标志,
[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文件中:
[ProjectRoot]/ios/Flutter/Release.xcconfig
EXTRA_GEN_SNAPSHOT_OPTIONS=--obfuscate
PS:还没有尝试过 https://github.com/dart- lang/sdk/issues/30524中提到的– save-obfuscation-map标志 ,正如@mraleph所提到的 ,对混淆的 测试* 还不 是很好。 *