正在使用 Android Studio 同步一个名为 SmolChat-Android 的项目,构建时在 settings.gradle.kts 文件中遇到插件解析失败的错误。
错误信息如下:
Settings file 'E:\example\SmolChat-Android\settings.gradle.kts' line: 19
Plugin [id: 'org.gradle.toolchains.foojay-resolver-convention', version: '1.0.0'] was not found in any of the following sources:
- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Included Builds (No included builds contain this plugin)
- Plugin Repositories (could not resolve plugin artifact)
Searched in: Google, MavenRepo, Gradle Central Plugin Repository
环境信息:
- Gradle 版本:8.5(gradle-wrapper.properties 中配置)
- Gradle 守护进程使用的 Java 版本:OpenJDK 11.0.20(./gradlew -version 输出)
- Android Studio:Ladybug | 2024.2.1
- 操作系统:Windows 11
问题背景:
这是一个 settings 插件(在 settings.gradle.kts 中声明,而不是在 build.gradle.kts 中)。我的 settings.gradle.kts 文件顶部配置如下:
pluginManagement {
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
plugins {
// 第 19 行即为以下内容:
id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0"
id("com.android.application") version "8.2.0" apply false
// ... 其他插件
}
已尝试的解决方案:
- 检查网络连接,浏览器可以正常访问 plugins.gradle.org。
- 停止 Gradle 守护进程(./gradlew --stop),删除 ~/.gradle/caches 缓存目录,重新同步,问题依旧。
- 在 Android Studio 中执行「File → Invalidate Caches and Restart」。
- 确认插件在 Gradle 插件门户上存在(1.0.0 版本发布于 2025 年 5 月 19 日)。
我的猜测:
该插件 1.0.0 版本要求运行 Gradle 的 Java 环境为 17 或更高版本,而我当前 Gradle 守护进程使用的是 Java 11。Java 版本不匹配是否会导致插件在「解析阶段」就失败,而不是在「执行阶段」才报错?
希望得到解答的问题:
- 运行 Gradle 的 Java 版本过低,是否会影响 settings 插件的下载和解析?
- 1.0.0 版本是否已经完全同步到所有镜像仓库?为什么网页能看到,本地却解析不到?
- 应该将插件降级到 0.9.0,还是升级运行 Gradle 的 JDK 版本(通过设置 JAVA_HOME 或 org.gradle.java.home)?
感谢各位的帮助