You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用需Gradle9.2.0+的新版AGP构建Android时触发Settings_gradle错误

排查Gradle 9.2+初始化构造函数错误的实用步骤

针对你遇到的Gradle升级至9.2+后出现的Settings_gradle.<init>构造函数错误,可按以下步骤逐步排查:

1. 彻底清理Gradle缓存与守护进程

旧缓存或残留的守护进程常引发兼容性问题:

  • 停止所有Gradle守护进程:
    gradlew --stop
    
  • 删除本地全局Gradle缓存:
    前往C:\Users\<你的用户名>\.gradle,删除caches和daemon文件夹
  • 删除项目根目录下的.gradle文件夹

2. 对齐Kotlin DSL与Gradle内置版本

Gradle 9.2+对Kotlin DSL版本匹配要求严格(你的Gradle 9.3.1内置Kotlin 2.2.21):

  • 检查settings.gradle.kts/build.gradle.kts中显式指定的Kotlin插件版本,确保与内置版本一致
  • 移除kotlin-dsl插件的显式版本声明,让Gradle自动适配内置版本

3. 排查Settings脚本的API兼容性

Gradle 9.x对Settings API做了调整,尤其是Kotlin DSL的初始化逻辑:

  • 将settings.gradle.kts简化为最基础版本(仅保留仓库和必要插件),逐步恢复原有配置,定位触发错误的代码块
  • 检查是否使用了直接依赖KotlinScriptHost或PluginDependenciesSpec的自定义逻辑,这类API可能已被修改或移除

4. 验证第三方插件兼容性

第三方插件未适配Gradle 9.2+是常见诱因:

  • 列出项目中所有插件(Settings级和Project级),逐个确认插件最新版本是否支持Gradle 9.2+
  • 暂时禁用非核心插件,重新构建,若恢复正常则逐个启用定位问题插件

5. 确保Java环境一致性

虽然使用Java 21,但需避免环境不一致:

  • 确认系统JAVA_HOME指向Eclipse Adoptium 21.0.10+7-LTS
  • 移除gradle.properties或脚本中可能指定的其他JDK路径
  • 尝试用--no-daemon参数构建,规避守护进程的JDK差异:
    gradlew build --no-daemon
    

6. 查看详细构建日志

即使--scan无法使用,可通过日志级别获取更多线索:

  • 执行带日志参数的构建命令:
    gradlew build -i  # 信息级别日志
    # 或
    gradlew build -d  # 调试级别日志
    
  • 重点关注错误发生前的插件加载、脚本执行环节,寻找异常线索

7. 核对Gradle版本变更日志

查看Gradle 9.2/9.3官方变更日志,重点关注Settings API、Kotlin DSL相关的变更,确认是否有项目依赖的API被移除或修改

内容的提问来源于stack exchange,提问作者arberg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.01 13:17:43