Flutter App代码混淆

Flutter 应用混淆
Flutter 应用的混淆非常简单,只需要在构建 release 版应用时结合使用 --obfuscate 和 --split-debug-info 这两个参数即可。

flutter build apk --obfuscate --split-debug-info 命令需要指定输出调试文件的位置,该命令会生成一个符号映射表。目前支持 apk,appbundle,ios 和 ios-framework 等目标平台( macOS 和 aar 在 master 和 dev 分支中支持 )。

如下:

Dart 复制代码
flutter build apk --obfuscate --split-debug-info=./out/android/app.android-arm64.symbols

混淆成功后,需要保存符号映射表,以便以后需要去混淆跟踪代码堆栈。

相关命令的其他信息,可以运行 flutter build apk -h 查看,如果不支持该命令,核实 Flutter 版本,执行 flutter upgrade 更新。
读取混淆堆栈

要调试混淆后的应用,可以执行以下两个步骤:

  1. 找到符号映射表文件。如在 Android arm64 下发生 crash,可以分析 app.android-arm64.symbols 文件。

  2. 运行 flutter symbolize 命令,并指定堆栈跟踪的文件和符号映射表文件即可:

Dart 复制代码
flutter symbolize -i <stack trace file> -d ./out/android/app.android-arm64.symbols
相关推荐
●VON1 小时前
AtomGit Flutter鸿蒙客户端:文件树与代码浏览
android·服务器·安全·flutter·harmonyos·鸿蒙
911hzh14 小时前
Flutter Plugin 开发教程:从零创建原生插件到发布 pub.dev 完整流程
flutter
我有满天星辰20 小时前
【Dart 语言学习教程 】 第二章:面向对象编程
学习·flutter·dart
●VON20 小时前
AtomGit Flutter鸿蒙客户端:API客户端与网络层
flutter·华为·架构·跨平台·harmonyos·鸿蒙
核电机组21 小时前
IOS原生APP集成Flutter
flutter·ios
唔6621 小时前
在 Flutter 混合开发中,Android 原生层通知 Dart 界面更新状态
android·flutter
小书房21 小时前
移动开发跨平台方案之RN/Flutter/KMP/CMP
flutter·react native·react·跨平台·rn·kmp·cmp
●VON1 天前
AtomGit Flutter鸿蒙客户端:安全JSON解析
安全·flutter·华为·json·harmonyos·鸿蒙
●VON1 天前
AtomGit Flutter鸿蒙客户端:项目架构概览
flutter·华为·架构·harmonyos·鸿蒙