前言
Android支持使用Kotlin DSL来构建Gradle脚本了,还不赶紧学习一波?
本文主题:
1.如何使用Kotlin DSL替换Groovy
2.过程中遇到的问题以及解决方法
为什么要使用Kotlin DSL
使用Kotlin DSL 的优势:
- 由于现在Kotlin是Android官方推荐语言,因此使用Kotlin构建Gradle脚本有利于整个项目开发语言的统一,不需要另外学习Groovy的语法
- Kotlin DSL 支持跳转到源码
- Kotlin DSL 在编译时检查错误
- Kotlin DSL 支持代码自动补全和语法高亮
Kotlin DSL的劣势:
- 编译速度比Groovy慢
从Groovy迁移到Kotlin DSL
Gradle 版本: 3.5.3
gradle-wrapper版本:5.6.4
新建一个Android项目
我们以一个新的Android项目为例,一步步从groovy迁移到Kotlin DSL
第一步:修改setting.gradle文件
把setting.gradle
重命名为 setting.gradle.kts
所有的Kotlin DSL 文件,都是以.kts 为文件名后缀
然后修改文件里面的内容:
include (":app")
rootProject.buildFileName = "build.gradle.kts"
这里做的事情也很简单,就是把原本的 “:” 改成了 “()” 这也是Kotlin DSL和Groovy语法的差别之一。
第二步:修改Project的build.gradle文件
把build.gradle
重命名为 build.gradle.kts
然后修改内容:
buildscript {
val kotlin_version = "1.3.61" // #1
repositories {
google()
jcenter()
}
dependencies {
classpath("com.android.tools.build:gradle:4.0.0-beta01") // #2
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version")
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()