1
2

More than 1 year has passed since last update.

【Android】Some kotlin libraries attached to this project were compiled with a newer Kotlin compiler and can’t be read. Please update kotlin plugin. が出る(自分用メモ)

Posted at

エラーとの出会い

これから新しいアプリを作ろうと思い、build.gradleの依存関係をある程度整え、Activityファイルの実装に移ろうとしたところで妙な警告が画面上部に出ているのを発見しました。

IMG_8701 2.jpg

Some kotlin libraries attached to this project were compiled with a newer Kotlin compiler and can’t be read. Please update kotlin plugin.  No updates found.

kotlinライブラリが読み込めないのでkotlinプラグインをアップデートしてくださいとのこと。なのにその隣にはNo updates found.とか書いてあります。アップデートしてくださいと言われているのにアップデートがないってどういうこと?

ちなみに一番右のDetailsがあるのでクリックしてみたところ、
IMG_8698.JPG
kotlin-stblibやコルーチンのバージョンが1.6.0になっているけど1.4.2のはずでは?と言われている様子。

しかし不思議なのが、ついさっきstblibの依存関係を削除したばかりなんですよね。
試しにgradleに

build.gradle
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.4.2

の記述を書き直したりしたのですが、バージョンを1.6.0にしても1.4.2にしても警告の内容は変わりません。

kotlinプラグインを見てみる

ルートのbuild.gradleのdependenciesの中に

build.gradle
implementation 'org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version'

と書いていた箇所がありました。

この$kotlin_versionは同じくプロジェクトレベルのbuild.gradleの上の方に

build.gradle
buildscript {
ext.kotlin_version = "1.6.10"
}

と定義されています。
警告の横にあるDetailsをタップしたときに怒られてたバージョンも1.6.10なのでこの辺りをアップデートすればよさそうですね。
しかしkotlinのリリースノートを見ると1.6.10が最新だったため、アップデートのしようがありませんでした。(2022/01/21現在)
Kotlin releases | Kotlin
だからNo updates foundになっていたんですね。

解決法

  • 上記の$kotlin_versionを1.4.32に下げた
  • 同様にkotlin-coroutineのバージョンを1.6.0→1.4.2に下げた

build.gradleを触っているときに$kotlin_versionを1.4.32から最新版の1.6.10にしていたのでそこを戻しました。アップデートしなければならないと思い込んでいたため、バージョンを下げるという結論に達するまでに少し遠回りをしてしまいました。
今回は前の状態に戻しただけなのですが、Detailを押したときに「expected 1.4.2」と出ていたので1.4.2にしてもよかったかもしれません。(今回は試していないのですが、リリースノートを見ると1.4.2ではなく1.4.20と書かれていたので、そう書けば動きそうです。)
コルーチンに関しても同じく最新版にしていたので、こちらのリリースノートを参考にバージョンを1.4.2まで下げました。

とりあえずエラーを吐かなくなったからよかったものの、なぜ削除したはずのstblibでこのようなエラーが出たのかは謎です。
Kotlin 1.4.0のWhat’s newによるとkotlinプラグインと同じバージョンが自動でstblibのバージョンとして追加されるようになったそうなのですが、その影響で入るべきでないバージョンが追加されてしまったんですかね?
初心者ゆえにこの辺り全く理解できていないので、もしわかる方いたら教えてください...

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2