[컴][자바][안드로이드] 안드로이드에서 코틀린 사용하기

안드로이드에서 kotlin 사용하기 / android 에서 kotlin 사용하기



updated : 2015.10.29

Android Studio 에서

간단하게 할 수 있도록 JetBrain 에서 IDE 기능을 추가했다. 자세한 사항은 아래 글을 참고하자.



android studio 에서 kotlin 을 위한 gradle 설정

Kotlin 에서 제공하는 예제는 아래서 download 받을 수 있다.


<android_projcet>/build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext.kotlin_version = '0.12.1230'
    repository{
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
        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()
    }
}

<android_projcet>/app/build.gradle
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.xxxxx"
        minSdkVersion 16
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.android.support:recyclerview-v7:21.0.+'


    compile 'com.android.support:cardview-v7:21.0.+'
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    compile 'org.jetbrains.anko:anko:0.6.2-15s'
}

혹시 나같은 사람이 있을까봐 참고로 적으면, $kotlin_version 을 사용하기 위해 "(쌍따옴표) 를 써야 한다. '(따옴표) 는 안된다.

android studio 에서 자동으로 만드는 버전은 app.gradle 에 설정을 모아놨다. 아래와 같다.
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.hbwhale.beluga"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.2.0'
    compile 'com.android.support:design:23.2.0'
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
buildscript {
    ext.kotlin_version = '1.0.0'
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
repositories {
    mavenCentral()
}




android-gradle 버전정보와 연관성


  • ext.kotlin_version = '0.12.200'
  • classpath 'com.android.tools.build:gradle:1.1.0'

는 잘 동작했지만

android plugin 버전이 1.2.0/1.3.0 에서는 kotlin plugin version 이 0.12.200 이 동작하지 않았다. 그래서 최신버전으로 변경하였더니 잘 됐다. 최신버전은 ref. 2 에서 찾아볼 수 있다. [ref. 2]

  • ext.kotlin_version = '0.12.1230'
  • classpath 'com.android.tools.build:gradle:1.3.0'




Anko

  1. yanex/anko-template-project · GitHub
  2. anko/ADVANCED.md at master · JetBrains/anko · GitHub


Converting Sample




References

  1. Kotlin > Using Gradle
  2. Maven Repository: org.jetbrains.kotlin » kotlin-gradle-plugin-core







댓글 없음:

댓글 쓰기