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

Flutter连接Firebase RTDB时遇minSdkVersion冲突问题求助

Flutter连接Firebase实时数据库minSdkVersion冲突问题解决思路

问题重现

在连接Firebase实时数据库时,触发Manifest合并失败错误:

Manifest合并失败:uses-sdk:minSdkVersion 16 不能小于库[:firebase_database]中声明的版本19

但已在build.gradle中设置minSdkVersion 19,仍触发该错误。

解决步骤

1. 确认修改的是正确的build.gradle文件

Flutter项目存在两个build.gradle文件,必须确保修改的是android/app/build.gradle内的配置,而非项目根目录下的build.gradle。正确配置示例:

android {
    compileSdkVersion 33 // 建议适配Firebase要求使用较新版本
    defaultConfig {
        applicationId "你的应用ID"
        minSdkVersion 19
        targetSdkVersion 33
        versionCode 1
        versionName "1.0"
    }
}

注意:若代码中存在compileSdkVersion flutter.compileSdkVersion这类依赖Flutter全局配置的语句,需替换为具体数值(如33),避免被全局配置覆盖本地设置。

2. 检查Flutter全局gradle配置

若项目依赖Flutter默认gradle配置,需同步全局配置的minSdkVersion:

  • 打开android/local.properties文件,添加或修改:
    flutter.minSdkVersion=19
    
  • 或在android/gradle.properties中添加:
    flutter.minSdkVersion=19
    

3. 清理项目缓存并重新构建

旧build缓存可能导致配置未生效,执行以下命令:

flutter clean
flutter pub get
flutter run

4. 临时方案:强制Manifest合并(不推荐)

若上述方法均无效,可在AndroidManifest.xml中添加强制覆盖配置(可能引发运行时兼容性问题):
在<manifest>标签中引入tools命名空间,再在<uses-sdk>标签中添加覆盖声明:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="你的应用包名">

    <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="33"
        tools:overrideLibrary="io.flutter.plugins.firebase.database"/>

    <!-- 其他应用配置 -->
</manifest>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 01:35:15