Gradle5.0 已经支持了Kotlin,但碍于Android Studio目前适配并不是很好,所以并不建议开发使用,至于为什么,在文章末尾也给出了具体原因。
为什么要使用Kotlin改造?
Gradle采用groovy采用开发语言,是一种动态的dsl语言,缺点就是写脚本时如果出现问题,我们无法实时的得知,只能通过print进行得知,而且无法跳转,并且不支持自动补全。
我们先建一个普通的Android项目,然后改造如下,那怎么改造呢? 改造很简单,在你的gradle后面加上kts即可,然后as会自动识别,接着再修改一堆报错,这个过程很麻烦,目前Android Studio支持并不是很好
app的gradle
代码语言:javascript复制plugins {
id("com.android.application")
id("kotlin-android")
id("kotlin-android-extensions")
}
android {
compileSdkVersion(29)
buildToolsVersion("29.0.2")
defaultConfig {
applicationId = "com.android.daggertest"
minSdkVersion(15)
targetSdkVersion(29)
versionCode = 1
versionName = "1.0"
}
buildTypes {
getByName("release") {
isMinifyEnabled = true
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
}
}
dependencies {
"implementation"(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar"))))
"implementation"("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.61")
"implementation"("androidx.core:core-ktx:1.1.0")
"implementation"("androidx.constraintlayout:constraintlayout:1.1.3")
}
}
项目的Gradle配置
代码语言:javascript复制buildscript {
val kotlinVersion="1.3.61"
repositories {
google()
jcenter()
}
dependencies {
classpath("com.android.tools.build:gradle:3.5.1")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion")
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
model配置
代码语言:javascript复制include("app")
这样改造后就ok了,不过需要注意的是,目前Android Studio对Kotlin-Gradle支持的并不是很好,所以如果你新建一个model,就会再次新创建gradle配置文件,这样你就得再次手动配置,很麻烦,所以目前Kotlin-Gradle尝鲜即可。