如何使用tools:overrideLibrary?Manifest合并失败且修改不生效求助
解决Manifest合并报错:minSdkVersion低于依赖库要求且修改后自动还原的问题
核心问题定位
你的错误源于项目minSdkVersion 16不满足Firestore 24.1.2的最低版本要求(19),而修改后配置自动还原,大概率是改错了配置文件或存在全局变量覆盖设置。
分步解决
确认正确的配置文件
- 原生Android项目:修改模块级
build.gradle(通常是app/build.gradle),找到android.defaultConfig节点,设置:defaultConfig { minSdkVersion 19 // 至少满足Firestore的最低要求,无需直接升到23 targetSdkVersion 33 // 推荐使用当前兼容的最新版本 // 其他配置... } - Flutter项目:修改
android/app/build.gradle里的defaultConfig部分,同上设置minSdkVersion 19。
- 原生Android项目:修改模块级
排查配置覆盖问题
- 检查项目根目录的
gradle.properties文件,是否存在类似org.gradle.project.minSdkVersion=16的全局变量,有的话把值改成19。 - 如果你使用了Firebase BoM(物料清单),确保不要单独指定Firestore版本,依赖由BoM统一管理,避免版本冲突导致的隐性minSdk要求。
- 检查项目根目录的
移除不必要的强制兼容标签
删掉AndroidManifest.xml里的tools:overrideLibrary标签——这个标签是强制忽略版本差异的,不仅可能引发运行时崩溃,而且你的根本问题是配置没生效,没必要保留。清理缓存并重构
- 终端执行:
./gradlew clean - Android Studio内操作:
File -> Invalidate Caches... -> Invalidate and Restart
彻底清除旧构建缓存,确保新配置生效。
- 终端执行:
验证配置是否生效
构建完成后,查看build/intermediates/manifests/full/debug目录下的生成版AndroidManifest.xml,确认minSdkVersion已更新为19或更高,同时检查Firestore依赖版本是否符合预期。
内容的提问来源于stack exchange,提问作者Praveesh Ramroop
相关产品推荐
相关产品推荐

