升级至com.google.gms:google-services:3.3.0后出现配置依赖变更错误求助
我之前升级到com.google.gms:google-services:3.3.0时也碰到过一模一样的错误,折腾了好一会儿才搞定,给你几个亲测有效的解决办法:
检查插件应用顺序:google-services插件必须放在所有依赖声明之后应用。打开你的
app/build.gradle文件,确保apply plugin: 'com.google.gms.google-services'这行代码在整个文件的最后位置,不能出现在dependencies块之前或者中间。3.3.0版本的插件会更早地锁定依赖配置,提前应用会导致后续依赖修改触发冲突。移除动态依赖修改逻辑:如果你的项目里有用Groovy代码动态往
:app:api配置添加依赖的操作(比如api.dependencies.add(...)这类写法),赶紧把这些改成静态声明,直接把依赖写在dependencies块里就行。3.3.0版本的插件会在依赖解析阶段就锁定配置,动态修改会被判定为非法操作。清理缓存并强制同步:有时候Gradle缓存会残留旧的配置信息,导致奇怪的冲突。先执行命令:
./gradlew clean然后点击Android Studio右上角的“Sync Project with Gradle Files”按钮,或者用命令强制刷新依赖:
./gradlew build --refresh-dependencies排查第三方插件冲突:如果项目里还有其他编译期插件(比如埋点、代码生成类插件),可能和google-services插件的执行顺序冲突。可以先暂时注释掉其他插件的应用代码,重新同步项目看看错误是否消失。如果找到冲突插件,要么调整它和google-services的应用顺序,要么更新该插件到最新兼容版本。
内容的提问来源于stack exchange,提问作者Jerry Okafor

