Android項目集成Kotlin

1.為什么選擇 Kotlin?

簡潔:大大減少樣板代碼的數(shù)量。
安全:避免空指針異常等整個類的錯誤。
互操作性:充分利用 JVM、Android 和瀏覽器的現(xiàn)有庫。
工具友好:可用任何 Java IDE 或者使用命令行構建。

2.官網(wǎng)語法

簡單的kotlin入門語法在這里就不復述了。參考Android與Kotlin入門。

3.gadle配置Kotlin環(huán)境(1.3.0以上版本)

1.在項目的build.gradle文件下添加 外部Gradle插件依賴引用
buildscript {
    ext.kotlin_version = '1.3.50'  //kotlin的版本
    ...
    dependencies {
         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        ...
    }
2.在項目Module下的build.gradle引入 kotlin 插件支持和標準庫
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
···
dependencies{
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"  //標準庫的支持
    ···
}
3.APT支持

在 Android 插件中,官方已經(jīng)支持APT了。但是加入 Kotlin 后,由于Kotlin構建環(huán)節(jié)和Java 有些微妙的變化,因此需要重建這個流程的構建,因此Kotlin為我們提供了另外的插件支持。

apply plugin: 'kotlin-kapt'

在本來使用 annotationProcessor依賴方式的依賴上,改為 kapt

     kapt("com.sankuai.waimai.router:compiler:${WMROUTER_VERSION}") {
        exclude group: 'com.android.support'
    }

kapt 不僅僅是會處理 kotlin 的內(nèi)容,同時也可以處理 java 代碼中的內(nèi)容。

4.增量編譯支持

在 Gradle 配置文件中:在 gradle.properties 或者 local.properties 中,對于 Kotlin/JVM 項目添加一行 kotlin.incremental=true

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容