Gradle构建报错:plugins{}块前存在非法语句,调整顺序仍未解决
解决Gradle构建报错:plugins{}块前存在非法语句
问题根源
Gradle明确规定:plugins{}块只能出现在buildscript{}、pluginManagement{}或其他plugins{}块之后,任何执行语句(比如项目目录配置、子项目依赖、任务注册)都不能放在plugins{}块之前,你的构建文件里plugins{}前存在rootProject.buildDir赋值、subprojects配置、clean任务注册,这直接触发了报错。
修改后的完整代码
plugins { id 'com.android.application' id 'kotlin-android' } buildscript { ext.kotlin_version = '1.7.10' repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.3.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { project.evaluationDependsOn(':app') } tasks.register("clean", Delete) { delete rootProject.buildDir }
关键调整说明
- 将
plugins{}块移至文件最顶部,确保它的位置符合Gradle的语法规则 - 把所有非脚本块的配置(项目目录、子项目、任务注册)全部移到
plugins{}和buildscript{}块之后
内容的提问来源于stack exchange,提问作者최경민
相关产品推荐
相关产品推荐

