问题原因
在 plugins{}
块之前,只允许出现 buildscript{}
和 其他插件{}
脚本块,是不允许出现其他语句的。所以出现该错误的原因是 plugins{}
代码块放错了位置(必须放在 buildscript{}
之后或者其他的 plugins{}
的后边)。
举个例子
项目采用组件化方式,在项目根目录定义 dependencies.gradle
文件:
plugins {
id 'kotlin-android'
id 'kotlin-android-extensions'
id 'kotlin-kapt'
id 'androidx.navigation.safeargs.kotlin'
}
android {
......
}
dependencies {
......
}
这时在 App 目录或者 model 目录下的 build.gradle
文件中导入 dependencies.gradle
文件:
plugins {
id 'com.android.application'
}
apply from:"../dependencies.gradle"
android {
defaultConfig {
applicationId "com.lbj.cniao5"
}
}
编译过后,就会出现标题所述的错误。
Only Project and Settings build scripts can contain plugins {} blocks
解决方案
将 plugins { id 'com.android.application' }
等 plugins{}
代码块都修改成 apply plugin:'com.android.application'
的样式即可。