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使用教程

相关推荐
Swift社区10 分钟前
Flutter 项目如何做好性能监控与问题定位?
flutter
LawrenceLan10 分钟前
36.Flutter 零基础入门(三十六):StatefulWidget 与 setState 进阶 —— 动态页面必学
开发语言·前端·flutter·dart
weixin_4434785114 分钟前
flutter组件学习之Stack 组件详解
学习·flutter
程序员Ctrl喵16 分钟前
分层架构的协同艺术——解构 Flutter 的心脏
flutter·架构
Hello.Reader29 分钟前
Flutter IM 桌面端消息发送、ACK 回执、SQLite 本地缓存与断线重连设计
flutter·缓存·sqlite
Hello.Reader36 分钟前
Flutter IM 桌面端项目架构、聊天窗口布局与 WebSocket 长连接设计
websocket·flutter·架构
前端不太难37 分钟前
Flutter Web / Desktop 为什么“能跑但不好用”?
前端·flutter·状态模式
前端不太难1 小时前
Flutter 国际化和主题系统如何避免后期大改?
flutter·状态模式
小雨凉如水1 小时前
flutter 基础组件学习
学习·flutter
Swift社区1 小时前
Flutter 适合长期大型项目 - 真实边界在哪里
flutter