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

Flutter项目Gradle构建失败:minSdkVersion版本不兼容求助

Flutter Android构建失败:minSdkVersion版本不兼容问题解决

核心问题

项目当前minSdkVersion设为21,但集成的firebase_auth库要求最低SDK版本为23,导致Manifest合并失败。以下是几种可行的解决方法:


方法1:升级项目minSdkVersion到23(推荐)

确保修改的是正确的build.gradle文件:

  1. 打开项目中的android/app/build.gradle文件
  2. 找到defaultConfig块,将minSdkVersion改为23:
android {
    defaultConfig {
        minSdkVersion 23
        targetSdkVersion 33 // 保持与你的项目现有配置一致
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }
}
  1. 若项目有多环境配置(productFlavors),同步修改每个flavor中的minSdkVersion:
productFlavors {
    dev {
        minSdkVersion 23
        // 其他环境配置
    }
    prod {
        minSdkVersion 23
        // 其他环境配置
    }
}
  1. 执行清理和重建命令:
flutter clean
flutter pub get
flutter run

方法2:降级firebase_auth到支持minSdk21的版本

如果需要保留minSdkVersion 21,可以选择降级firebase_auth插件:

  1. 查找firebase_auth版本历史,确认支持minSdk21的版本(例如^3.14.0版本)
  2. 修改pubspec.yaml中的依赖版本:
dependencies:
  firebase_auth: ^3.14.0
  1. 执行flutter pub get后重新构建项目

方法3:强制覆盖(不推荐,可能引发运行时崩溃)

仅用于临时测试场景,通过tools:overrideLibrary强制合并Manifest:

  1. 打开android/app/src/main/AndroidManifest.xml
  2. 在manifest标签中添加tools命名空间:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.messaging_app">
  1. 在application标签中添加强制覆盖声明:
<application
    tools:overrideLibrary="io.flutter.plugins.firebase.auth"
    android:label="messaging_app"
    android:icon="@mipmap/ic_launcher">
    <!-- 原有内容 -->
</application>

⚠️ 注意:此方法可能导致应用在Android 21设备上运行时崩溃,因为库中使用了该版本不支持的API。


常见失效原因排查

  • 误修改了项目根目录的build.gradle,而非android/app/build.gradle
  • 项目存在多环境配置,未同步修改对应flavor的minSdkVersion
  • 未清理构建缓存,导致Gradle未识别到修改

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 16:44:52