持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第28天,点击查看活动详情
什么是DSL?
DSL 是Domain Specific Language
的缩写,相反的是 GPL Global Purpose Language
。
它意味着一种特定于特定领域的语言,而 Kotlin 就是这样一种 DSL。在开发应用程序时,使用框架或库时,使用提供的语言,此时的语言是 DSL。
Groovy 与 KTS
那么,使用 kts 文件管理 gradle 而不是传统方式有哪些优势呢?
这些是我使用后感受到的舒适点。
- 由于它是一个 kotlin 文件,因此可以自动完成。
- 在几个模块中同样需要一些库,但可以使用 for 语句一次添加这些库。
- 能够在 gradle 中使用 Kotlin 语法
- 当 EndPoint 和库版本发生变化时易于编辑
如何使用?
- 将左侧项目面板更改为
Project Files
. - 在 Android Studio 中,使用 File > New > Directory 在项目根目录中创建一个 buildSrc 文件夹。
- 右键单击该文件夹并使用 New > File 创建一个文件
build.gradle.kts
。 - 在 build.gradle.kts 文件中输入以下代码。
import org.gradle.kotlin.dsl.`kotlin-dsl`
plugins {
`kotlin-dsl`
}
repositories {
mavenCentral()
}
- 完成上述步骤后,并创建kotlin文件。主要用于应用参数配置和依赖库配置(请参考下图。)
不需要按照上面的代码,根据你当前使用的项目的SDK设置进行设置即可。
- 将每个模块的 build.gradle 文件重命名为 build.gradle.kts。现在使用KTS 语法编辑 gradle 文件。
// 模块中的gradle.kts
...
dependencies {
implementation(JetPack.dataStore)
implementation(JetPack.liveData)
}
...
总结
- 改成多模块后,多模块管理库很麻烦。但是,在应用 KTS 之后,通过在 buildSrc 中的一个位置管理应用于所有模块的库或插件,可以大大缩短现有工作。
- 这非常方便,因为您可以在 gradle 中使用自动完成和导入。