Failed to notify dependency resolution listener. 'void org.gradle.api.artifacts.DependencySubstitutions$Substitution.with(org.gradle.api.artifacts.component.ComponentSelector)'
时间: 2025-05-24 12:16:00 浏览: 36
### 解决方案
Gradle 构建过程中遇到 `Failed to notify dependency resolution listener` 错误通常是由多种因素引起的,包括配置错误、版本兼容性问题以及环境设置不当等。以下是针对该问题的具体分析和解决方案。
#### 1. 检查 `build.gradle` 文件中的仓库配置
确保项目根目录下的 `build.gradle` 或 `settings.gradle` 文件中定义的仓库地址正确无误。常见的错误可能来源于拼写错误或者路径不匹配。例如:
```groovy
repositories {
mavenCentral()
google()
}
```
如果自定义了 Maven 仓库,请确认其 URL 和认证信息是否有效[^2]。
#### 2. 验证 Gradle 版本与 AGP (Android Gradle Plugin) 的兼容性
不同版本的 Gradle 和 Android Gradle Plugin 存在严格的版本约束关系。建议查阅官方文档以获取最新的 **Gradle 和 AGP 对应表** 并调整至推荐组合[^4]。例如,在使用较新的 AGP 时,需升级到更高版本的 Gradle 来支持新特性。
#### 3. JDK 版本一致性校验
此错误也可能由 Java Development Kit (JDK) 不适配引发。具体表现为模块化系统的访问权限冲突 (`module java.base does not "opens java.io"`)[^2]。尝试切换至受支持范围内的 JDK 版本(如 OpenJDK 11),并同步更新 IDE 设置中的 SDK 路径。
#### 4. 清理缓存重试构建过程
有时本地依赖项损坏也会触发此类异常。执行以下命令清除旧数据后再重新运行构建流程可能会有所帮助:
```bash
./gradlew clean --refresh-dependencies
```
另外还可以删除 `.gradle/caches/` 下的相关子文件夹手动清理残留记录[^3]。
#### 示例修正后的脚本片段展示
下面给出一段经过优化处理过的顶层级 build script 示例供参考:
```groovy
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id 'com.android.application' version '7.0.0' apply false
}
allprojects {
repositories {
google()
mavenCentral()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
```
以上措施综合应用能够显著降低遭遇类似错误的概率。
阅读全文
相关推荐


















