使用更新版本的Android Gradle插件(AGP)构建Android应用时,需要Gradle 9.2.0及以上版本,但在Settings.gradle的早期阶段就出现错误,导致构建失败
更新的AGP需要Gradle 9.2。当我将Gradle从 9.0.1升级到9.2或更高版本时,在我的Windows系统上使用Java 21时,会出现这个错误:
FAILURE: Build failed with an exception.
* What went wrong:
'void Settings_gradle.<init>(org.gradle.kotlin.dsl.support.KotlinScriptHost, org.gradle.plugin.use.PluginDependenciesSpec, org.gradle.api.initialization.Settings)'
我既尝试了我自己的项目,也试过其它类似的项目,比如jetsnack项目,使用Gradle 9.1.0,在我的系统上是可行的:https://github.com/android/compose-samples
不过如果我在jetsnack中尝试将Gradle升级到9.2.0,就必须删除settings.gradle中的一行URL,然后就会以相同的方式失败。
以下是 : ./gradlew -version的输出
------------------------------------------------------------
Gradle 9.3.1
------------------------------------------------------------
Build time: 2026-01-29 14:15:01 UTC
Revision: 44f4e8d3122ee6e7cbf5a248d7e20b4ca666bda3
Kotlin: 2.2.21
Groovy: 4.0.29
Ant: Apache Ant(TM) version 1.10.15 compiled on August 25 2024
Launcher JVM: 21.0.10 (Eclipse Adoptium 21.0.10+7-LTS)
Daemon JVM: C:\ProgramData\scoop\apps\temurin21-jdk\current (no Daemon JVM specified, using current Java home)
OS: Windows 11 10.0 amd64
这是我的 gradle.properties,不过删除它也会导致同样的失败,所以可能与此无关:
android.experimental.enableTestFixturesKotlinSupport=true
android.useAndroidX=true
android.enableJetifier=false
org.gradle.caching=true
org.gradle.caching.debug=false
org.gradle.configuration-cache=true
org.gradle.configureondemand=true
org.gradle.daemon.idletimeout=10800000
org.gradle.console=auto
kapt.include.compile.classpath=true
org.gradle.parallel=true
org.gradle.jvmargs=-Xmx20g -XX:+UseParallelGC -Dfile.encoding=UTF-8
这是不是某种新型的错误,是否有调试的方法?gradlew --scan 不起作用,这个错误在Gradle设置阶段就会发生。
解决方案
Edric在评论中给出了解决方案。
Gradle 9.2和 9.3在 Windows上处理缓存所使用的链接的.gradle文件夹时存在问题。当仍然使用.gradle链接文件夹时,在Gradle 9.4+版本中才可工作。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。