Gradle构建失败:无法通知依赖解析监听器问题求助
解决Gradle构建错误:Failed to notify dependency resolution listener
错误信息:
A build operation failed. Failed to notify dependency resolution listener. Failed to notify dependency resolution listener. org.gradle.api.artifacts.DependencySubstitutions$Substitution.with(Lorg/gradle/api/artifacts/component/ComponentSelector;)
这个错误核心原因是Gradle插件、Google Services插件与项目依赖的版本严重不匹配,加上存在重复/冲突的依赖,导致依赖解析时出现API兼容问题。以下是具体修复步骤:
步骤1:升级Gradle构建工具和Google Services插件版本
你当前使用的com.android.tools.build:gradle:4.1.2是旧版本,和引入的Firebase 22+、Material 1.10.0等新依赖完全不兼容;同时google-services:4.3.5版本过低,无法适配新的Firebase依赖。
修改根目录build.gradle的buildscript部分:
buildscript { repositories { google() // jcenter已停止维护,替换为mavenCentral mavenCentral() } dependencies { // 升级到适配compileSdk 30的稳定版本 classpath "com.android.tools.build:gradle:7.0.4" // 升级Google Services插件到适配新Firebase的版本 classpath 'com.google.gms:google-services:4.3.15' } }
同时修改gradle/wrapper/gradle-wrapper.properties中的Gradle版本,与插件版本匹配:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
步骤2:清理重复仓库与冲突依赖
根目录build.gradle重复添加了jitpack仓库,删除其中一个;并替换停止维护的jcenter:
allprojects { repositories { google() mavenCentral() maven { url "https://jitpack.io" } } }
模块build.gradle同时引入了旧support版和AndroidX版的constraint-layout,这会导致冲突,删除旧的support版本:
// 删除这一行 // implementation 'com.android.support.constraint:constraint-layout:2.0.4'
步骤3:统一依赖版本(可选但推荐)
部分依赖版本可适当升级以适配新环境,比如Glide:
implementation 'com.github.bumptech.glide:glide:4.16.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.16.0'
步骤4:执行清理与重新构建
完成修改后:
- 点击Android Studio工具栏
File -> Invalidate Caches...,选择Invalidate and Restart - 重启后执行
Build -> Clean Project,再执行Build -> Rebuild Project
内容的提问来源于stack exchange,提问作者LastCode
相关产品推荐
相关产品推荐

