配置Gradle

Kotlin插件包括一个让我们配置Gradle的工具。但是我还是倾向于保持我对Gradle文件读写的控制权,否则它只会变得混乱而不会变得简单。不管怎么样,在使用自动工具之前知道它是怎么工作的是个不错的主意。所以这次,我们将手动去做。

首先,你需要如下修改父build.gradle:

1. buildscript {
2. ext.support_version = '23.1.1'
3. ext.kotlin_version = '1.0.0'
4. ext.anko_version = '0.8.2'
5. repositories {
6. jcenter()
7. dependencies {
8. classpath 'com.android.tools.build:gradle:1.5.0'
9. classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
10. }
11. }
12. }
13. allprojects {
14. repositories {
15. jcenter()
16. }
17. }

正如你看到的,我们创建了一个变量来存储当前的Kotlin版本。你读到这里的时候去检测一下最新版本,因为可能会有更新的版本已经发布了。我们需要在几个不同的地方用到那个版本号,比如你需要加上新的Kotlin插件的dependency。你会在你指定的那些模块中的build.gradle中再次需要到Kotlin标准库。

我们对于support library也是如此,Anko库也是同样的做法。用这个方式可以更方便地在一个地方修改所有的版本号。并且使用相同的版本号,更新的时候也不需要每个地方都修改。

我们会增加Kotlin标准库,Anko库,以及Kotlin和Kotlin Android Extensions plugin插件到dependencies。

1. apply plugin: 'com.android.application'
2. apply plugin: 'kotlin-android'
3. apply plugin: 'kotlin-android-extensions'
4. android {
5. ...
6. }

8. dependencies {
9. compile "com.android.support:appcompat-v7:$support_version"
10. compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
11. compile "org.jetbrains.anko:anko-common:$anko_version"
12. }

14. buildscript {
15. repositories {
16. jcenter()
17. }
18. dependencies {
19. classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
20. }
21. }

Anko是一个用来简化一些Android任务的很强大的Kotlin库。我们之后将会学习部分anko,但是现在来说仅仅增加anko-common就足够了。这个库被分割成了一系列小的部分以至于我们不会把没用到的部分加进来。