使用Kotlin改造Android Gradle

image-20191231143912761

Gradle5.0+已经支持了Kotlin,但碍于Android Studio目前适配并不是很好,所以并不建议开发使用,至于为什么,在文章末尾也给出了具体原因。

为什么要使用Kotlin改造?

Gradle采用groovy采用开发语言,是一种动态的dsl语言,缺点就是写脚本时如果出现问题,我们无法实时的得知,只能通过print进行得知,而且无法跳转,并且不支持自动补全。

我们先建一个普通的Android项目,然后改造如下,那怎么改造呢?
改造很简单,在你的gradle后面加上kts即可,然后as会自动识别,接着再修改一堆报错,这个过程很麻烦,目前Android Studio支持并不是很好

image-20191231142859095

app的gradle

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配置

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配置

include("app")

这样改造后就ok了,不过需要注意的是,目前Android Studio对Kotlin-Gradle支持的并不是很好,所以如果你新建一个model,就会再次新创建gradle配置文件,这样你就得再次手动配置,很麻烦,所以目前Kotlin-Gradle尝鲜即可。

参考链接:

发布了97 篇原创文章 · 获赞 643 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/petterp/article/details/103782417