API24以下でNoSuchMethodError:No static method hashCode

Kotlin 1.3.30を使っていてAPI24以下の端末で java.lang.NoSuchMethodError: No static method hashCode(Z) のエラーが出てcrashすることがあったのでその対応のメモ。

環境は以下 - Kotlin 1.3.30 - AGP 3.2.1

関連するURLは以下 https://stackoverflow.com/questions/45935788/nosuchmethoderror-java-lang-long-hashcode https://stackoverflow.com/questions/55708793/switch-to-kotlin-1-3-30-breaks-hashcode-only-on-android-api-21 https://youtrack.jetbrains.com/issue/KT-31027

  • API24からJava8が使えること
  • Java8からstaticなhashCode()というメソッドが生えた
  • Kotlin1.3.30でJava8から生えたhashCodeメソッドを参照している

のでAPI24以下の端末でタイトルのエラーが起こってしまうと理解している。

issueにも書いてあるがKotlinのCompileOptionでjvmTarget = 1.6にすると直ると書いてあるが自分の環境では解決しなかった。

結局AGPを3.4.1に上げることで解決した。