問(wèn)題原因
在 plugins{} 塊之前,只允許出現(xiàn) buildscript{} 和 其他插件{} 腳本塊,是不允許出現(xiàn)其他語(yǔ)句的。所以出現(xiàn)該錯(cuò)誤的原因是 plugins{} 代碼塊放錯(cuò)了位置(必須放在 buildscript{} 之后或者其他的 plugins{} 的后邊)。
舉個(gè)例子
項(xiàng)目采用組件化方式,在項(xiàng)目根目錄定義 dependencies.gradle 文件:
plugins {
id 'kotlin-android'
id 'kotlin-android-extensions'
id 'kotlin-kapt'
id 'androidx.navigation.safeargs.kotlin'
}
android {
......
}
dependencies {
......
}
這時(shí)在 App 目錄或者 model 目錄下的 build.gradle 文件中導(dǎo)入 dependencies.gradle 文件:
plugins {
id 'com.android.application'
}
apply from:"../dependencies.gradle"
android {
defaultConfig {
applicationId "com.lbj.cniao5"
}
}
編譯過(guò)后,就會(huì)出現(xiàn)標(biāo)題所述的錯(cuò)誤。
Only Project and Settings build scripts can contain plugins {} blocks
解決方案
將 plugins { id 'com.android.application' } 等 plugins{} 代碼塊都修改成 apply plugin:'com.android.application'的樣式即可。