flutter 做代码混淆

第一种、手动混淆

修改代码中出现次数多的 类目 方法 。修改静态资源的名字,转静态资源为webp

第二种、使用flutter 自带的命令行工具进行混淆

混淆 Dart 代码 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter

使用@pragma('vm:entry-point') 装饰器修改方法 忽略方法名字的混淆

@pragma('vm:entry-point')
对于iOS:

在iOS上,Flutter使用了LLVM编译器,它不使用类似于R8的混淆工具。然而,Xcode默认会对符号进行一些形式的混淆或优化。为了防止特定的类被混淆,你可能需要:

禁用Bitcode: 在Xcode项目设置中,找到你的Flutter项目的Build Settings,搜索 Bitcode 并将其设置为 NO。这会保留更易读的符号,但会增加二进制文件大小。

使用自定义符号剔除规则: 如果你的目标是仅防止某些类被剔除,你可能需要更深入地了解Xcode的链接器选项和构建设置,这通常不是Flutter开发者日常操作的一部分。

通常,在Flutter开发中,主要关注的是Android上的代码混淆,因为iOS的构建过程有所不同,且默认的符号处理方式已经足够满足大多数需求。

执行打包ipa 的命令 会自动生成

flutter build ipa --obfuscate --split-debug-info=./symlinks

报错 分发证书报错,可以先不管 因为我本地的确没有分发正式,先用开发证书

Encountered error while creating the IPA:

error: exportArchive: No signing certificate "iOS Distribution" found

打包完成生成下面的路径

Try distributing the app in Xcode: "open /Users/alanyu/Desktop/space_whisper_app/build/ios/archive/Runner.xcarchive"

Runner.xcarchive 双击打开 然后进行xcode的导出ipa包操作

其中正式直接拖进钥匙串 中 , 描述文件enjoy_dev.mobileprovision在 xcode 中导入

第三种:使用IpaGuard

Ipa Guard使用常见问题 | ipaguard使用教程

相关推荐
MonkeyKing1 天前
三棵树彻底拆解(Widget / Element / RenderObject)
flutter·dart
Lanren的编程日记1 天前
Flutter 鸿蒙应用错误处理优化实战:完善全局异常捕获,全方位提升应用稳定性
flutter·华为·harmonyos
Lanren的编程日记1 天前
Flutter鸿蒙应用开发:网络请求优化实战,全方位提升请求稳定性与性能
网络·flutter·harmonyos
IntMainJhy1 天前
【futter for open harmony】Flutter 鸿蒙聊天应用实战:shared_preferences 本地键值存储适配指南[特殊字符]
flutter·华为·harmonyos
IntMainJhy1 天前
【Flutter for OpenHarmony 】第三方库鸿蒙电商实战|首页模块完整实现[特殊字符]
flutter·华为·harmonyos
梦想不只是梦与想1 天前
flutter 与原生通信的底层原理(二)
flutter
Lanren的编程日记1 天前
Flutter 鸿蒙应用离线模式实战:无网络也能流畅使用
网络·flutter·harmonyos
IntMainJhy1 天前
【Flutter for OpenHarmony 】第三方库 聊天应用:Provider 状态管理实战指南
flutter·华为·harmonyos
IntMainJhy1 天前
【futter for open harmony】Flutter 聊天应用实战:Material Design 3 全局 UI 规范落地指南✨
flutter·华为·harmonyos
IntMainJhy1 天前
【flutter for open harmony】Flutter 聊天应用实战:go_router 路由管理完全实现指南
flutter·华为·harmonyos