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

Flutter集成Firebase后assembleRelease构建APK失败求助

Flutter+Firebase应用构建APK失败求助

我正在开发首个Flutter+Firebase应用,未集成Firebase前曾成功构建过一次。目前开发进度已完成90%,但无法构建APK,也无法修复构建时出现的错误,特此求助。

构建命令及错误输出

C:\Users\Asus\flutter\bin\flutter.bat --no-color build apk

Building without sound null safety
For more information see https://dart.dev/null-safety/unsound-null-safety

Running Gradle task 'assembleRelease'...                        
../../flutter/.pub-cache/hosted/pub.dartlang.org/charts_flutter-0.12.0/lib/src/chart_container.dart:205:27: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../flutter/packages/flutter/lib/src/scheduler/binding.dart').
    if (!SchedulerBinding.instance!.hasScheduledFrame) {
                          ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/charts_flutter-0.12.0/lib/src/chart_container.dart:206:24: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../flutter/packages/flutter/lib/src/scheduler/binding.dart').
      SchedulerBinding.instance!.scheduleFrame();
                       ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/charts_flutter-0.12.0/lib/src/chart_container.dart:209:22: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../flutter/packages/flutter/lib/src/scheduler/binding.dart').
    SchedulerBinding.instance!.addPostFrameCallback(startAnimationController);
                     ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/charts_flutter-0.12.0/lib/src/chart_container.dart:232:22: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../flutter/packages/flutter/lib/src/scheduler/binding.dart').
    SchedulerBinding.instance!.addPostFrameCallback(doRebuild);
                 ^

问题分析与解决办法

这些警告来自charts_flutter:0.12.0包,原因是该版本代码在新版本Flutter中使用了不必要的空断言符!——新版本Flutter里SchedulerBinding.instance已被标记为非空类型,无需再加!。

解决步骤:

  • 优先升级charts_flutter到最新稳定版,新版本大概率已修复空安全适配问题。修改pubspec.yaml中的依赖版本后执行flutter pub get。
  • 若升级包后问题仍存在或无法升级(如依赖冲突),可使用dependency_overrides强制拉取修复后的源码:
    1. 在pubspec.yaml末尾添加:
      dependency_overrides:
        charts_flutter:
          git:
            url: https://github.com/google/charts.git
            path: charts_flutter
            ref: main
      
    2. 执行flutter pub get重新拉取依赖。
  • 若构建仍失败,尝试先执行flutter clean清理缓存,再重新运行flutter build apk。

内容的提问来源于stack exchange,提问作者Djèlì Bi Berci

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 18:07:13