Android Studio构建错误:无法找到Firebase BOM 30.3.1求解决方案
解决Gradle无法找到Firebase BOM的构建错误
核心问题分析
- 依赖写法错误:
capacitor.build.gradle中把platform()方法调用用双引号包裹成了字符串,Gradle无法正确解析这个依赖声明。 - 版本冲突与重复声明:项目中同时存在
30.3.1和30.3.2两个版本的Firebase BOM,且capacitor.build.gradle里重复声明了BOM依赖。 - 旧版强制依赖冲突:
app/build.gradle中强制指定的Play Services版本(如17.0.0)与Firebase BOM 30.x版本不兼容,导致依赖解析失败。
分步解决方法
1. 修复capacitor.build.gradle的依赖写法
打开自动生成的capacitor.build.gradle,找到dependencies块,修正Firebase BOM的声明格式:
dependencies { implementation project(':capacitor-app') implementation project(':capacitor-storage') // 移除重复的androidx.core依赖,保留最新版本 implementation "androidx.core:core:1.6.+" // 去掉外层双引号,让Gradle正确解析platform方法 implementation platform('com.google.firebase:firebase-bom:30.3.2') implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.firebase:firebase-messaging' implementation "me.leolin:ShortcutBadger:1.1.22@aar" implementation "com.android.support:support-v4:27.+" implementation "com.squareup.okhttp3:okhttp:3.12.0" }
2. 统一Firebase BOM版本
将所有配置文件中的Firebase BOM版本统一为30.3.2(或兼容的最新版本),确保app/build.gradle和capacitor.build.gradle中的版本一致。
3. 调整Play Services强制版本
修改app/build.gradle中的resolutionStrategy,移除过旧的Play Services强制版本,或升级到与Firebase BOM兼容的版本(Firebase BOM 30.x对应Play Services版本至少为19+):
configurations.all { resolutionStrategy { // 移除或升级以下强制版本,避免与Firebase BOM冲突 // force "com.google.android.gms:play-services-ads:17.0.0" // force "com.google.android.gms:play-services-basement:17.0.0" // ...其他旧版强制声明 } }
4. 从根源控制自动生成文件的配置
由于capacitor.build.gradle是自动生成的,手动修改后会被capacitor update覆盖,需通过插件配置统一版本:
- 在项目根目录的
package.json中添加配置:
"cordova": { "plugins": { "cordova-android-firebase-gradle-release": { "FIREBASE_VERSION": "30.3.2" } } }
- 执行命令重新同步配置:
npx cap sync android
5. 清理Gradle缓存并重新构建
执行以下命令强制刷新依赖并清理缓存:
./gradlew clean build --refresh-dependencies
内容的提问来源于stack exchange,提问作者Calvin
相关产品推荐
相关产品推荐

