Android Studio/Kotlinでクリーンビルド以外でいつもビルドエラーになるときの対策

下記のようなAndroidプロジェクトでクリーンビルド以外でいつもビルドエラーで困っていたのを対策したのでメモ。

## 環境
* kotlin v1.1.0
* gradle v2.3.0
* Android Studio 3.0.1
* moduleが8個

## 出てくるビルドエラー
クリーンビルドでは発生せず、その後のビルドで

```java
java.lang.IllegalStateException: Service is dying
        at org.jetbrains.kotlin.daemon.common.CompileService$CallResult$Dying.get(CompileService.kt:55)
        at org.jetbrains.kotlin.daemon.common.CompileService$CallResult$Dying.get(CompileService.kt:54)
        at org.jetbrains.kotlin.compilerRunner.KotlinCompilerRunner$newDaemonConnection$connection$1.invoke(KotlinCompilerRunner.kt:70)
        at org.jetbrains.kotlin.compilerRunner.KotlinCompilerRunner$newDaemonConnection$connection$1.invoke(KotlinCompilerRunner.kt:47)
        at org.jetbrains.kotlin.daemon.common.DummyProfiler.withMeasure(PerfUtils.kt:137)
        at org.jetbrains.kotlin.compilerRunner.KotlinCompilerRunner.newDaemonConnection(KotlinCompilerRunner.kt:68)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner.getDaemonConnection(GradleKotlinCompilerRunner.kt:239)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner.getDaemonConnection(GradleKotlinCompilerRunner.kt:46)
        at org.jetbrains.kotlin.compilerRunner.KotlinCompilerRunner.withDaemon(KotlinCompilerRunner.kt:178)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner.performIncrementalCompilationWithDaemon(GradleKotlinCompilerRunner.kt:160)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner.compileWithDaemon(GradleKotlinCompilerRunner.kt:140)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner.doRunCompiler(GradleKotlinCompilerRunner.kt:119)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner.doRunCompiler(GradleKotlinCompilerRunner.kt:46)
        at org.jetbrains.kotlin.compilerRunner.KotlinCompilerRunner.runCompiler(KotlinCompilerRunner.kt:121)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner.runJvmCompiler(GradleKotlinCompilerRunner.kt:85)
        at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.callCompiler$kotlin_gradle_plugin(Tasks.kt:214)
        at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.callCompiler$kotlin_gradle_plugin(Tasks.kt:125)
        at org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile.execute(Tasks.kt:112)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
```

## 対策

androidProject/gradle.propertiesを下記のように修正してAndroid Studioを再起動。

```gradle.properties:変更前
org.gradle.parallel=true
```

```gradle.properties:変更後
org.gradle.parallel=false
```

stackoverflowやyoutrack.jetbrains.com内の識者によるとこれはjetbrainsに上がっている[issue/KT-15562](https://youtrack.jetbrains.com/issue/KT-15562 "issue/KT-15562")の問題らしく、具体的にはkotlin 1.0~1.2辺りでgradleを並列ビルドにした場合に発生するらしい。
なので、上記のようにgradle.propertiesに`org.gradle.parallel=false`を記載してからAndroid Studioを再起動で対策できた。gradleデーモン動いていたらターミナルで`$ ./gradlew --stop`した方がよさそう。
`kotlin.incremental=true`でもこの問題が発生するようなことが書いてありますが、自分の環境では`kotlin.incremental=true`を入れても大丈夫でした。上記だけではビルドエラーが解決しない場合は`kotlin.incremental=false`もgradle.propertiesに追記して見ても良いかもしれないです。特にkotlin 1.1.1以降利用の場合は（kotlin 1.1.1以降はデフォルトでkotlinのインクリメンタルビルドが有効らしいので）。

この問題はチーム内では自分の環境だけで発生しているようだったので、実際はユーザー/.gradle/gradle.propertiesに上記修正後の内容を追記しました。

## 参考
https://stackoverflow.com/questions/44429723/kotlin-compiler-in-android-application-connection-refused-to-host-127-0-0-1
https://youtrack.jetbrains.com/issue/KT-15562
https://kotlinlang.org/docs/reference/using-gradle.html