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

Flutter 1.22.6下Cloud Firestore 0.16.0+1因AndroidX兼容性导致构建失败的问题

解决Flutter 1.22.6 + cloud_firestore 0.16.0+1运行时firebase_auth编译失败问题

我之前在使用旧版Flutter搭配Firebase插件时,踩过几乎一模一样的坑,结合你的环境来看,核心原因确实是AndroidX兼容性冲突,Jetifier自动转换时出了问题。下面是我亲测有效的解决步骤:

1. 确保AndroidX和Jetifier配置正确

打开项目根目录下的android/gradle.properties文件,检查是否包含以下两行配置(如果没有就添加):

android.useAndroidX=true
android.enableJetifier=true

Jetifier的作用就是自动把第三方库的旧Android支持库转换为AndroidX,这一步是解决兼容性问题的基础。

2. 匹配Gradle和Android Gradle Plugin版本

Flutter 1.22.6对Gradle版本有特定要求,版本不匹配会直接导致编译失败:

  • 打开android/build.gradle,修改buildscript里的依赖版本:
    buildscript {
        repositories {
            google()
            jcenter()
        }
    
        dependencies {
            // 适配Flutter 1.22.6的Android Gradle Plugin版本
            classpath 'com.android.tools.build:gradle:4.0.1'
            // 适配你的Firebase插件版本的Google Services插件
            classpath 'com.google.gms:google-services:4.3.8'
        }
    }
    
  • 接着打开android/gradle/wrapper/gradle-wrapper.properties,修改Gradle分发URL:
    distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
    

3. 彻底清理缓存后重新构建

缓存残留也可能导致奇怪的编译问题,执行以下命令彻底清理:

flutter clean
rm -rf android/.gradle
rm -rf ~/.gradle/caches
flutter pub get

完成后再尝试运行应用:flutter run

4. 统一Firebase插件版本

不同Firebase插件版本之间也可能存在兼容性冲突,你的cloud_firestore用的是0.16.0+1,建议搭配同版本线的firebase_auth,比如0.20.1版本,修改pubspec.yaml:

dependencies:
  flutter:
    sdk: flutter
  cloud_firestore: 0.16.0+1
  firebase_auth: 0.20.1

修改后执行flutter pub get更新依赖。

另外要提醒的是,Flutter 1.22.6是比较旧的稳定版本,尽量不要使用太新的Firebase插件,保持插件版本和Flutter版本的匹配度,能避免很多这类兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 08:37:40