You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter无法构建应用Release版本问题求助

Flutter Release/Profile构建崩溃:Dart Snapshot生成失败(段错误)

问题描述

flutter run 可正常运行,但执行 flutter run --release 或 flutter run --profile 时触发段错误,错误日志如下:

===== CRASH =====
si_signo=Segmentation fault: 11(11), si_code=1, si_addr=0x0
version=2.18.6 (stable) (Tue Dec 13 2022 +0000) on "macos_simarm64"
pid=14192, thread=-1, isolate_group=isolate(0x7f910c011200), isolate=(nil)(0x0)
isolate_instructions=0, vm_instructions=0
Stack dump aborted because InitialRegisterCheck failed.
Dart snapshot generator failed with exit code -6

项目依赖配置如下:

version: 1.0.0+1
environment:
  sdk: ">=2.15.1 <3.0.0"

dependencies:
  
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter
  flutter_native_splash: ^2.1.6
  table_calendar: ^3.0.8
  image_stack: ^2.1.1
  intl: ^0.17.0
  shimmer: ^2.0.0
  flutter_riverpod: ^1.0.4
  auto_route: ^5.0.4
  google_fonts: ^3.0.1
  pinput: ^2.2.9
  mask_text_input_formatter: ^2.3.0
  firebase_core: ^1.21.1
  dio: ^4.0.6
  dio_cache_interceptor: ^3.2.7
  dio_cache_interceptor_hive_store: ^3.1.1
  http: ^0.13.5
  enum_to_string: ^2.0.1
  mobile_scanner: ^2.1.0
  firebase_auth: ^3.3.19
  image_picker: ^0.8.5+3
  image_cropper: ^3.0.1
  firebase_storage: ^10.2.18
  fluttertoast: ^8.0.9
  firebase_messaging: ^13.0.1
  hive: ^2.2.1
  hive_flutter: ^1.1.0
  flutter_hooks: ^0.18.5+1
  hooks_riverpod: ^1.0.4
  local_auth: ^2.1.0
  lottie: ^2.1.0
  flutter_local_notifications: ^9.7.0
  device_info_plus: ^4.0.1
  timeago: ^3.2.2
  url_launcher: ^6.1.5
  focused_menu: ^1.0.5
  rxdart: ^0.27.7
  rate_my_app: ^1.1.3
  infinite_scroll_pagination: ^3.2.0
  flutter_offline: ^2.1.0
  webview_flutter: ^4.0.1
  shared_preferences: ^2.0.15
  web_socket_channel: ^2.2.0
  fl_chart: ^0.55.2

dev_dependencies:
  #flutter_gen_runner:
  auto_route_generator: ^5.0.2
  firebase_core_platform_interface: ^4.5.1
  build_runner: any
  flutter_lints: ^2.0.1
  flutter_launcher_icons: ^0.11.0
  flutter_test:
    sdk: flutter
flutter_icons:
    android: "launcher_icon"
    ios: true
    image_path: "assets/icons/b2b_logo.png"


flutter:
  uses-material-design: true
  generate: true
  assets:
    - assets/images/
    - assets/
    - assets/animations/
    - assets/icons/
  fonts:
    - family: SnagIcons
      fonts:
        - asset: assets/fonts/SnagIcons.ttf

应用两个月前可正常构建,回退代码后问题仍存在。


解决方案

  • 清理缓存与构建产物
    执行以下命令彻底清理旧缓存和构建文件,避免残留文件干扰:

    flutter clean
    rm -rf ~/Library/Developer/Xcode/DerivedData
    rm -rf ios/Pods
    rm ios/Podfile.lock
    flutter pub get
    cd ios && pod install && cd ..
    
  • 排查依赖冲突

    1. 移除dev_dependencies中的firebase_core_platform_interface显式依赖,该依赖应由firebase_core自动引入,手动指定版本易引发冲突
    2. 逐个更新涉及原生代码的依赖(如mobile_scanner、image_cropper、local_auth)到兼容Flutter 2.18.6的最新版本,部分旧版本可能存在release模式的适配问题
  • 架构适配测试(M系列Mac)
    由于当前运行环境为macos_simarm64,尝试切换到x86_64架构构建:

    arch -x86_64 flutter run --release
    

    若此方式成功,说明是M芯片下Dart快照生成的版本兼容问题,可升级Flutter到2.19+稳定版(该版本针对M系列芯片做了优化)

  • 临时禁用代码压缩与混淆
    临时关闭代码压缩和混淆,排查是否为构建优化导致的问题:

    • Android:修改android/app/build.gradle,将minifyEnabled和shrinkResources设为false
    • iOS:在Xcode的Build Settings中关闭Enable Bitcode和Strip Debug Symbols During Copy
  • 检查Hive初始化逻辑
    项目中使用Hive,确保release模式下Hive初始化流程无异常,比如已正确注册所有自定义TypeAdapter,避免快照生成阶段触发空指针访问


内容的提问来源于stack exchange,提问作者mboh bless-pearl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 12:01:50