初次集成Firebase遇Gradle错误:未找到getCompileConfiguration()方法
嘿,我来帮你搞定这个Gradle报错的问题!你遇到的Error:Gradle DSL method not found: 'getCompileConfiguration()',本质是几个版本不兼容导致的——你的Gradle构建工具版本太老,和你用的Google Services插件、Firebase依赖版本完全搭不上。
具体来说:
- 你用的Gradle构建工具是2.1.2,这个版本年代太久远,根本不支持高版本的Google Services插件和Firebase 15.x系列依赖
- 另外,Google Services插件3.3.1和Firebase核心依赖15.0.2也不匹配,Firebase 15.x必须搭配4.0.0及以上版本的Google Services插件
下面是一步步的修复方案:
第一步:修改项目根目录的build.gradle
把这里的Gradle构建工具和Google Services插件版本都升级到兼容的版本,同时简化仓库配置:
buildscript { repositories { jcenter() google() // 替换原来的maven.google.com,新Gradle版本支持更简洁的写法 } dependencies { // 升级到3.2.1版本,既能兼容Firebase 15.x,又不会太新引发其他适配问题 classpath 'com.android.tools.build:gradle:3.2.1' // 升级到4.2.0,完美适配Firebase 15.0.2版本 classpath 'com.google.gms:google-services:4.2.0' } } allprojects { repositories { jcenter() google() // 同样替换为google()仓库 } } task clean(type: Delete) { delete rootProject.buildDir }
第二步:修改app模块的build.gradle
这里主要是升级compileSdkVersion到兼容Firebase的版本,同时把旧的compile替换为Gradle 3.0+推荐的implementation:
apply plugin: 'com.android.application' android { compileSdkVersion 28 // 升到28版本,稳定且完全兼容Firebase 15.x buildToolsVersion "28.0.3" defaultConfig { applicationId "com.webstore.whatsapp" minSdkVersion 15 targetSdkVersion 28 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) testImplementation 'junit:junit:4.12' implementation 'com.android.support:appcompat-v7:28.0.0' // Firebase核心依赖保持15.0.2即可,和上面的Google Services插件版本完全匹配 implementation 'com.google.firebase:firebase-core:15.0.2' } apply plugin: 'com.google.gms.google-services'
第三步:同步并清理项目
- 点击Android Studio右上角的「Sync Project with Gradle Files」按钮,让新配置生效
- 如果还有缓存问题,就去
Build菜单里先选Clean Project,再选Rebuild Project,清掉旧缓存重新构建
额外提醒
要是你不想把compileSdkVersion升到28,至少也得升到26——因为Firebase 15.x要求compileSdkVersion不能低于26哦。
内容的提问来源于stack exchange,提问作者Ahmed
相关产品推荐
相关产品推荐

