添加Firebase Classpath依赖时出现Gradle同步错误
解决Gradle同步错误:Could not find method classpath()
这个错误的核心原因是Project级Gradle文件的结构写错了——classpath是Gradle构建脚本自身的依赖,不能直接放在根目录的dependencies块里,这个块是用来声明项目模块的依赖,而非构建脚本的依赖。
修正Project级build.gradle文件
直接删除根目录下的dependencies块即可,因为你已经通过plugins块声明了所有所需插件的版本,不需要重复用classpath声明。修正后的文件内容如下:
plugins { id "com.android.application" version "7.3.1" apply false id "com.android.library" version "7.3.1" apply false id "com.google.gms.google-services" version "4.3.14" apply false }
兼容旧版Gradle的可选写法
如果你的项目需要兼容旧版Gradle,也可以改用buildscript结构来声明构建脚本依赖,但更推荐上面的plugins DSL方式:
buildscript { repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.3.1' classpath 'com.google.gms:google-services:4.3.14' } } plugins { id "com.android.application" version "7.3.1" apply false id "com.android.library" version "7.3.1" apply false }
可选优化Module级build.gradle
你当前Module文件里的apply plugin: 'com.google.gms.google-services'可以统一移到plugins块中,更符合新版Gradle规范:
plugins { id 'com.android.application' id 'com.google.gms.google-services' // 替换原来的apply plugin语句 } android { namespace 'com.example.anonymous' compileSdk 32 // 其余内容保持不变 } dependencies { // 其余内容保持不变 }
完成以上修改后,重新同步Gradle即可解决错误。
内容的提问来源于stack exchange,提问作者Samprit
相关产品推荐
相关产品推荐

