Android Studioのバージョンをアップデートさせると、こんな感じでアプリをビルドするためにAndroid Studioに組み込まれている「Gradle」のプラグインのアップデートも聞いてくるので、「Update」してやると、
Kotlinのバージョンが1.3.0以上でないとだーめよって言われるので、
The Android Gradle plugin supports only Kotlin Gradle plugin version 1.3.0 and higher.
ご指示通り、プロジェクトレベルのbuild.gradleからKotlinのバージョンを上げて再同期しやると、、、
Failed to resolve org.jetbrains.kotlin: kotlin-stdlib-jre7: 1.3.0
というわけわからんメッセージが出てエラーになるという、
なんやそれ!?という現象の解決法です。
「jre」やのうて「jdk」なんだそうな。
結論から言うと、アプリケーションレベルで設定されているKotlinの標準関数のライブラリの箇所が「jre」じゃなくて「jdk」に変更しないといけないようです。
だから
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
を
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
するんだそうです。
理由は
- Kotlinのバージョン1.2からJava9に対応できるようになった。
- その結果、それに対応できる「jdk・・」の標準関数のライブラリが導入され、従来の「jre・・」は非推奨となった(使えるけどやめときや状態)
- Kotlin1.3になって、従来の「jre・・」の標準関数ライブラリは使用禁止となった(使ったらあかんで状態に)
ということのようです。
くわしくは下の動画で解説していますので、よろしければご覧ください。
The Kotlin standard library is now fully compatible with the Java 9 module system, which forbids split packages (multiple jar files declaring classes in the same package). In order to support that, new artifacts
kotlin-stdlib-jdk7
andkotlin-stdlib-jdk8
are introduced, which replace the oldkotlin-stdlib-jre7
andkotlin-stdlib-jre8
.