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

Flutter接入Firebase后Windows/Android构建失败求助

Flutter接入Firebase后Windows与Android构建失败问题

问题概述

接入Firebase并完成配置后,执行flutter run -d windows -v时构建失败。已尝试flutter pub clean、flutter pub cache clean、flutter pub get、重装Flutter及Windows系统,问题仍未解决。接入Firebase前应用可正常运行,且队友Windows设备上Android和Windows版本均可正常构建。

Windows端报错信息

Gradle构建错误

[   +2 ms] Exception: Gradle task assembleDebug failed with exit code 1
[   +5 ms] "flutter run" took 2,450,242ms.
[   +4 ms]
           #1      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:757:9)
           <asynchronous suspension>
           #2      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1336:27)
           <asynchronous suspension>
           #3      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #4      CommandRunner.runCommand (package:args/command_runner.dart:212:13)
           <asynchronous suspension>
           #5      FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:296:9)
           <asynchronous suspension>
           #6      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #7      FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:244:5)
           <asynchronous suspension>
           #8      run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:91:9)
           <asynchronous suspension>
           #9      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #10     main (package:flutter_tools/executable.dart:91:3)
           <asynchronous suspension>

CMake相关错误

[  +85 ms] CMake Error at flutter/ephemeral/.plugin_symlinks/firebase_core/windows/CMakeLists.txt:90 (add_subdirectory):
[  +23 ms]   The source directory
[   +3 ms]     <path-to-app>/build/windows/extracted/firebase_cpp_sdk
[        ]   does not contain a CMakeLists.txt file.
[        ] CMake Error at flutter/ephemeral/.plugin_symlinks/firebase_core/windows/CMakeLists.txt:95 (get_target_property):
[   +5 ms]   get_target_property() called with non-existent target "firebase_app".
[        ] CMake Error at flutter/ephemeral/.plugin_symlinks/firebase_core/windows/CMakeLists.txt:96 (string):
[        ]   string sub-command REPLACE requires at least four arguments.
[        ] CMake Error at flutter/ephemeral/.plugin_symlinks/firebase_core/windows/CMakeLists.txt:97 (set_target_properties):
[        ]   set_target_properties Can not find target to add properties to:
[   +9 ms]   firebase_app
[ +127 ms] CMake Error at flutter/ephemeral/.plugin_symlinks/firebase_core/windows/CMakeLists.txt:95 (get_target_property):
[  +78 ms]   get_target_property() called with non-existent target "firebase_auth".
[  +98 ms] CMake Error at flutter/ephemeral/.plugin_symlinks/firebase_core/windows/CMakeLists.txt:96 (string):
[  +60 ms]   string sub-command REPLACE requires at least four arguments.
[ +167 ms] CMake Error at flutter/ephemeral/.plugin_symlinks/firebase_core/windows/CMakeLists.txt:97 (set_target_properties):
[ +147 ms]   set_target_properties Can not find target to add properties to:
[ +183 ms]   firebase_auth
[ +265 ms] CMake Error at flutter/ephemeral/.plugin_symlinks/firebase_core/windows/CMakeLists.txt:95 (get_target_property):
[   +1 ms]   get_target_property() called with non-existent target
[  +55 ms]   "firebase_remote_config".
[  +96 ms] CMake Error at flutter/ephemeral/.plugin_symlinks/firebase_core/windows/CMakeLists.txt:96 (string):
[ +107 ms]   string sub-command REPLACE requires at least four arguments.
[ +158 ms] CMake Error at flutter/ephemeral/.plugin_symlinks/firebase_core/windows/CMakeLists.txt:97 (set_target_properties):
[ +126 ms]   set_target_properties Can not find target to add properties to:
[  +23 ms]   firebase_remote_config

Android端报错信息

FAILURE: Build failed with an exception.
[        ] * What went wrong:
[        ] Execution failed for task ':flutter_libserialport:buildCMakeDebug[arm64-v8a]'.
[        ] > com.android.ide.common.process.ProcessException: ninja: Entering directory `C:\Users\--\AppData\Local\Pub\Cache\hosted\pub.dev\flutter_libserialport-0.3.0\android\.cxx\Debug\406q6x2e\arm64-v8a'[        ]   [1/5] Building C object CMakeFiles/serialport.dir/6c4fe2c82c5e28a6a42e1fa64dbeef9a/third_party/libserialport/linux_termios.c.o
[        ]   FAILED: CMakeFiles/serialport.dir/6c4fe2c82c5e28a6a42e1fa64dbeef9a/third_party/libserialport/linux_termios.c.o
[   +1 ms]   <path-to-sdk>\ndk\23.1.7779620\toolchains\llvm\prebuilt\windows-x86_64\bin\clang.exe --target=aarch64-none-linux-android21
--sysroot=<path-to-sdk>/ndk/23.1.7779620/toolchains/llvm/prebuilt/windows-x86_64/sysroot -DLIBSERIALPORT_ATBUILD -Dserialport_EXPORTS
-IC:/Users/--/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_libserialport-0.3.0/android/libserialport
-IC:/Users/--/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_libserialport-0.3.0/android/libserialport/../../third_party/libserialport -DANDROID -fdata-sections -ffunction-sections -funwind-tables
-fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fexceptions -g  -fno-limit-debug-info -fPIC -std=c99 -Wall -Wextra -pedantic -Wmissing-prototypes -Wshadow
-MD -MT CMakeFiles/serialport.dir/6c4fe2c82c5e28a6a42e1fa64dbeef9a/third_party/libserialport/linux_termios.c.o -MF
CMakeFiles\serialport.dir\6c4fe2c82c5e28a6a42e1fa64dbeef9a\third_party\libserialport\linux_termios.c.o.d -o
CMakeFiles/serialport.dir/6c4fe2c82c5e28a6a42e1fa64dbeef9a/third_party/libserialport/linux_termios.c.o -c
C:/Users/--/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_libserialport-0.3.0/third_party/libserialport/linux_termios.c
[   +2 ms]   C:/Users/--/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_libserialport-0.3.0/third_party/libserialport/linux_termios.c:98:9: error: invalid application of 'sizeof' to an incomplete type
'struct termiox'

补充信息

  • flutter doctor结果无异常
  • 接入Firebase前应用运行正常
  • 队友Windows设备可正常构建Android和Windows版本

解决方案

Windows端CMake问题解决

  1. 手动下载Firebase C++ SDK
    • 下载与firebase_core插件版本匹配的Firebase C++ SDK,解压到项目build/windows/extracted/firebase_cpp_sdk目录,确保目录下存在CMakeLists.txt
  2. 清除构建缓存
    • 删除项目的build/windows目录,重新执行flutter run -d windows
  3. 同步插件版本
    • 确保pubspec.yaml中Firebase相关插件版本与队友一致,示例:
      firebase_core: ^2.15.0
      firebase_auth: ^4.9.0
      firebase_remote_config: ^4.3.0
      
    • 执行flutter pub get重新拉取依赖

Android端libserialport问题解决

  1. 升级插件版本
    • 将pubspec.yaml中的flutter_libserialport升级到最新稳定版(如0.4.0+),旧版本存在NDK编译兼容问题
  2. 指定兼容NDK版本
    • 在android/app/build.gradle中设置兼容的NDK版本,示例:
      android {
          ndkVersion "25.2.9519653"
      }
      
  3. 手动补全头文件定义
    • 若不升级插件,可修改flutter_libserialport的linux_termios.c文件,添加以下代码:
      #ifdef __ANDROID__
      struct termiox {
          unsigned short x_hflag;
          unsigned short x_cflag;
          unsigned short x_rflag;
          unsigned short x_sflag;
          unsigned char x_cc[16];
      };
      #endif
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 01:07:02