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

VSCode运行Flutter项目遇Manifest合并错误,求解决方案

解决Flutter中Manifest合并失败(minSdkVersion 16 < 19)的问题

以下是针对该问题的具体解决方案,按推荐优先级排序:

方案1:升级项目minSdkVersion至19(官方推荐)

这是最稳妥的解决方式,避免后续因API兼容问题导致运行时崩溃:

  • 打开项目中的 android/app/build.gradle 文件
  • 找到 defaultConfig 代码块,修改 minSdkVersion 的值为19:
defaultConfig {
    applicationId "com.your.app.package"
    minSdkVersion 19 // 将原16替换为19
    targetSdkVersion 33
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
}
  • 保存文件后,执行 flutter clean 清除缓存,再重新运行 flutter run

方案2:降级Firebase Analytics到兼容minSdk 16的版本

如果必须保留minSdk 16,可以选择适配低版本的依赖包:

  • 若通过FlutterFire的firebase_analytics包集成,打开项目根目录的 pubspec.yaml,指定兼容版本(比如^9.1.0,对应原生依赖支持minSdk 16):
dependencies:
  firebase_analytics: ^9.1.0
  • 执行 flutter pub get 同步依赖,之后重新运行项目
  • 若直接在Gradle中引用原生依赖,打开 android/app/build.gradle,将com.google.firebase:firebase-analytics的版本改为18.0.0及以下

方案3:强制覆盖Manifest校验(不推荐)

仅在测试场景临时使用,可能导致低版本设备运行时崩溃:

  • 打开 android/app/src/main/AndroidManifest.xml
  • 在根manifest标签添加tools命名空间,同时在uses-sdk标签中添加强制覆盖属性:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.your.app.package">

    <uses-sdk android:minSdkVersion="16"
        android:targetSdkVersion="33"
        tools:overrideLibrary="com.google.firebase.firebase_analytics"/>

    <!-- 其他Manifest内容 -->
</manifest>
  • 保存后重新运行项目,需注意在Android 4.x(API 16-18)设备上可能出现API找不到的崩溃

额外排查点

  • 检查项目中其他Firebase组件或第三方依赖是否也要求更高的minSdk,需统一调整版本或升级项目minSdk
  • 若修改后仍报错,执行 flutter clean + flutter pub get 彻底清除缓存后重试

内容的提问来源于stack exchange,提问作者mærth

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 15:52:15