[Android]Kotlinをバージョンアップしたら「Failed to resolve org.jetbrains.kotlin:kotlin-stdlib-jre」でエラーになる場合の対処法

このページには広告が含まれる場合があります。

 

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 and kotlin-stdlib-jdk8 are introduced, which replace the old kotlin-stdlib-jre7 and kotlin-stdlib-jre8.

 

こんな記事も読まれています

人気No.1

前向きな気持ちになれる 占星術・タロットリーディング

あすコロ式・相談サロン 【ナビるやん】

人に言えない悩みから使命・運勢診断まで、あなたに寄り添いながら“ナビゲート”する、あすコロ人気No.1のオンライン相談サロン。占星術・心理学・タロットの叡智を活かし、普段認識していない「潜在意識」にアクセスしてあなたの気づいていない可能性を拓かせ、明日から前向きに歩めるようになる60分のリーディングセッション。

今すぐ詳細を見る(メルマガ登録で初回半額) ▶

TOP