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
相关推荐
火柴就是我43 分钟前
学习一些常用的混合模式之BlendMode. SRC_OVER
android·flutter
程序员Agions1 小时前
Flutter 邪修秘籍:那些官方文档不会告诉你的骚操作
前端·flutter
CodeOfCC4 小时前
flutter-elinux 编译linux arm64程序
linux·flutter
kirk_wang5 小时前
Flutter艺术探索-StatelessWidget与StatefulWidget区别与使用场景
flutter·移动开发·跨平台
搬砖的kk5 小时前
Flutter OH 3.35.7 Dev 版本发布 | 快速体验指南
flutter
未来猫咪花5 小时前
tp_router: 再也不用手动写路由表了
flutter
程序员老刘·5 小时前
ArkUI-X 6.0 跨平台框架能否取代 Flutter?
flutter·鸿蒙系统·跨平台开发·客户端开发
哈__6 小时前
Flutter For OpenHarmony 鸿蒙 PC 开发入门:环境搭建 + 工程初始化(附 PC 端专属配置)
flutter·华为·harmonyos
前端不太难6 小时前
Flutter 列表 rebuild 的真正边界在哪里
flutter·状态模式