Flutter build web如何排除指定文件夹不进行代码混淆?
Flutter Web编译时排除Model文件夹混淆的方案(Flutter 3.3.10/Dart 2.18.6)
要避免model目录下的代码被混淆,按以下步骤操作:
- 创建混淆规则配置文件
在项目根目录新建dart_options.yaml文件,写入以下配置(替换your_project_name为实际项目包名,对应pubspec.yaml里的name字段):
obfuscate: keep: - "package:your_project_name/model/**"
这个规则会保留model文件夹下所有文件的原始类名、方法名,不进行混淆。
- 执行带混淆参数的编译命令
运行Web编译时,指定混淆配置文件:
flutter build web --obfuscate --split-debug-info=./build/debug-info --dart-define=DART_OPTS=dart_options.yaml
--obfuscate:开启代码混淆功能--split-debug-info:生成调试映射文件(可选,用于混淆后的代码调试)--dart-define=DART_OPTS=...:指定我们创建的混淆规则文件
- 验证结果
编译完成后,检查build/web中的产物,搜索model里的类名或方法名,确认它们没有被混淆替换。
如果需要更精细的控制,比如只保留某个特定model文件,可以把规则改成具体路径,例如:
obfuscate: keep: - "package:your_project_name/model/user.dart"
内容的提问来源于stack exchange,提问作者Ajay
相关产品推荐
相关产品推荐

