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

Gradle从4.2升级至7.0报错:Unexpected input: '{' 求解决方案

解决Gradle 7.x构建报错问题

问题根源

报错看似指向{,实际是代码中使用了Groovy保留关键字package作为任务引用,加上Gradle 7.x对语法严格性提升、taskGraph.hasTask参数要求变化,导致解析失败。

修复步骤

  • 替换保留关键字package
    Groovy里package是保留字,不能直接用来引用任务,需明确指定任务:
    若引用当前模块的package任务,可二选一修改:

    // 方式1:通过任务名称获取任务对象
    if (taskGraph.hasTask(tasks.named('package'))) {
    

    或

    // 方式2:使用任务路径字符串(兼容性更好)
    if (taskGraph.hasTask(':package')) {
    

    如果是子模块任务,要写全路径,比如':iOS:package'。

  • 优化属性获取(可选)
    代码里buildType = buildtype可以更严谨地写成:

    buildType = project.getProperty('buildtype')
    

    避免潜在的作用域问题。

修复后代码示例

gradle.taskGraph.whenReady { taskGraph ->
    if (taskGraph.hasTask(':package')) {
        if (project.hasProperty('buildtype')) {
            buildType = project.getProperty('buildtype')
            println "### Project has buildType = $buildType"
        }
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 16:03:10