为了活动小家电-将 build 配置从 Groovy 迁移到 KTS

70 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第28天,点击查看活动详情

什么是DSL?

DSL 是Domain Specific Language的缩写,相反的是 GPL Global Purpose Language
它意味着一种特定于特定领域的语言,而 Kotlin 就是这样一种 DSL。在开发应用程序时,使用框架或库时,使用提供的语言,此时的语言是 DSL。

Groovy 与 KTS

那么,使用 kts 文件管理 gradle 而不是传统方式有哪些优势呢?
这些是我使用后感受到的舒适点。

  • 由于它是一个 kotlin 文件,因此可以自动完成。
  • 在几个模块中同样需要一些库,但可以使用 for 语句一次添加这些库。
  • 能够在 gradle 中使用 Kotlin 语法
  • 当 EndPoint 和库版本发生变化时易于编辑

如何使用?

  1. 将左侧项目面板更改为Project Files.
  2. 在 Android Studio 中,使用 File > New > Directory 在项目根目录中创建一个 buildSrc 文件夹。
  3. 右键单击该文件夹并使用 New > File 创建一个文件build.gradle.kts
  4. 在 build.gradle.kts 文件中输入以下代码。
import org.gradle.kotlin.dsl.`kotlin-dsl`

plugins {
    `kotlin-dsl`
}

repositories {
    mavenCentral()
}
  1. 完成上述步骤后,并创建kotlin文件。主要用于应用参数配置和依赖库配置(请参考下图。)

20579bd3eca785080e4bade9a0e0306.png

2fca5139961318a311b8250c6c5d4b2.png

不需要按照上面的代码,根据你当前使用的项目的SDK设置进行设置即可。

  1. 将每个模块的 build.gradle 文件重命名为 build.gradle.kts。现在使用KTS 语法编辑 gradle 文件。
// 模块中的gradle.kts
...
dependencies {
  implementation(JetPack.dataStore)
  implementation(JetPack.liveData)
}
...

总结

  • 改成多模块后,多模块管理库很麻烦。但是,在应用 KTS 之后,通过在 buildSrc 中的一个位置管理应用于所有模块的库或插件,可以大大缩短现有工作。
  • 这非常方便,因为您可以在 gradle 中使用自动完成和导入。