Kotlin - 配置 AndroidStudio 开发环境

前言

起因

前两天下班前突然被通知下个季度项目要转成 Kotlin,说实话,Kotlin 在 IO 大会之后就火了,然而我们公司今年一直在实行九九六的工作制,而且那段时间我又在学习 Python ,还有一部分的个人原因所以,所以对 Kotlin 的了解仅仅浮于表面,学习计划也是一度搁浅。

问题

曾经周六熬夜到十二点多摸索搭建 Kotlin 的环境。最后却差点把 AndroidStudio 的配置给搞混,Kotlin 便被我暂时抛弃了。

需要说明的是,当时我使用的是官方的说法。Kotlin 官网指引:https://kotlinlang.org/docs/reference/android-overview.html 去安装了 3.0 预览版的 AndroidStudio 。

预览版地址:https://developer.android.com/studio/preview/index.html

虽然官方说是可以两个版本并存,但是很可惜,我使用的是 Ubuntu 。 所以配置信息加载的时候会造成混乱。

总结

这里我会使用插件来配置 AndroidStudio 防止在此发生之前的情况,

环境配置

基本信息

Kotlin 环境并不需要单独配置,因为它是基于 Java 的语言,仅仅需要本地 JDK 版本 在 1.6 及以上版本即可。(注:Mac 系统,使用官方的 1.6 是不行的。Kotlin 有给出单独的 1.6 版本下载。https://support.apple.com/kb/DL1572)

插件支持

AndroidStudio 2.3 通过插件也可以支持 Kotlin

File –> Settings –> Plugins –> Browse repositories –> 输入“Kotlin” –> 点击“Kotlin”项目 –> 点击右侧的 “Install” –> 重启 AndroidStudio

新建 Kotlin 的 AndroidStudio 项目

1.预览版(3.0)支持新建项目页面直接通过勾选生成 Kotlin 项目

2.通过插件将创建普通项目转换为 Kotlin 项目

注意:Kotlin 的文件扩展名为 .kt 所以如果新建 Kotlin 项目 ,请注意选择

*   Kotlin File/class
*   Kotlin Activity

已有Android项目有转为 Kotlin

1.转换代码(此时运行也是崩溃)

Code –> Convert Java File to Kotlin File

转换操作可以 Ctrl + Z 撤销,但是不能反向转换

2.转换 Gradle 配置

Tools –> Kotlin –> Configure Kotlin in Project

你可以选择 Gradle 也可以选择 Android Gradle

我大概说一下区别,Gradle 指的是 Project 的 Gradle 。 只是让你的项目支持 Kotlin,并没有让你的 Module 变成 Kotlin 项目。

Android Gradle 则除了将 Project 的配置添加 Kotlin 支持,同时还可以选择 Module 转化为 Kotlin 项目。 (只要代码有 Kotlin 的 Module ,必须转换成 Kotlin 项目。)

转换到效果如下:

  • Gradle:

    Project:build.gradle

    // Top-level build file where you can add configuration options common to all sub-projects/modules.
    
    buildscript {
        ext.kotlin_version = '1.1.3-2'
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.3'
            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 {
            jcenter()
        }
    }
    
    task clean(type: Delete) {
        delete rootProject.buildDir
    }
    
  • Android Gradle:

    Project:build.gradle

    // Top-level build file where you can add configuration options common to all sub-projects/modules.
    
    buildscript {
        ext.kotlin_version = '1.1.3-2'
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.3'
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // kotlin 编译支持
    
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    
    allprojects {
        repositories {
            jcenter()
        }
    }
    
    task clean(type: Delete) {
        delete rootProject.buildDir
    }
    

    Module Gradle:build.gradle

    apply plugin: 'com.android.application'
    apply plugin: 'kotlin-android'  // 声明项目为Kotlin项目
    
    android {
        compileSdkVersion 25
        buildToolsVersion "26.0.1"
        defaultConfig {
            applicationId "com.huaijin.myapplication"
            minSdkVersion 14
            targetSdkVersion 25
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }
    
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
            exclude group: 'com.android.support', module: 'support-annotations'
        })
        compile 'com.android.support:appcompat-v7:25.3.1'
        compile 'com.android.support.constraint:constraint-layout:1.0.2'
        testCompile 'junit:junit:4.12'
        compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"   // 添加 Kotlin 依赖
    }
    repositories {
        mavenCentral()
    }
    

你可能感兴趣的:(Kotlin语言--学习篇)