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

Flutter 2.2.3版本build apk时dart-define参数不生效问题排查

问题原因

你遇到的是Flutter 2.2.3版本的已知构建缺陷:当flutter build apk命令同时使用--split-per-abi和--dart-define参数时,自定义的环境变量不会被传递到分ABI的子构建任务中,最终Dart代码只能读取到defaultValue的默认值。

前置排查项

在执行解决方案前可先确认:命令中--dart-define后的变量名和Dart代码中String.fromEnvironment读取的变量名拼写、大小写完全一致,排除人为书写错误导致的读取失败。

解决方案

可根据实际情况选择以下任意一种方案解决:

  • 升级Flutter到2.5.0及以上版本,该缺陷已在后续版本被官方修复
  • 若暂时无法升级版本,构建时去掉--split-per-abi参数,打通用APK,此时--dart-define的变量会正常生效
  • 若必须拆分ABI且不能升级Flutter版本,可针对不同架构单独执行构建命令,示例如下:
    # 构建arm32架构APK
    flutter build apk --obfuscate --split-debug-info=./build/info-apk --target-platform android-arm --dart-define=SOME_VAR=true
    # 构建arm64架构APK
    flutter build apk --obfuscate --split-debug-info=./build/info-apk --target-platform android-arm64 --dart-define=SOME_VAR=true
    # 构建x86_64架构APK
    flutter build apk --obfuscate --split-debug-info=./build/info-apk --target-platform android-x86_64 --dart-define=SOME_VAR=true
    

内容的提问来源于stack exchange,提问作者A.A

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 00:06:04