如果存在某个插件,这就是我之前在 gradle 中配置子项目的方式:
subprojects {
repositories {
jcenter()
google()
}
plugins.withType(com.android.build.gradle.LibraryPlugin) {
android {
compileSdkVersion 29
...
}
}
}
现在我不再使用 groovy 了。如何使用 gradle kotlin DSL 实现同样的效果?
这里最大的问题似乎是找到一种访问android扩展的方法,我似乎无法使用android
或extensions.findByType(com.android.build. gradle.LibraryExtension::class.java)
.
最佳答案
我通过创建 precompiled script plugin 解决了这个问题,我将其应用于所有子项目。
buildSrc/build.gradle.kts
plugins {
`kotlin-dsl`
}
dependencies {
implementation("com.android.tools.build:gradle:4.1.2")
}
buildSrc/src/main/kotlin/android-libary.gradle.kts
plugins {
id("com.android.library")
}
android {
compileSdkVersion(29)
...
}
subProject/build.gradle.kts
plugins {
`android-library`
}
关于Gradle子项目条件插件配置与gradle kotlin dsl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62506824/