メインコンテンツへスキップ

android tutorial「Android アプリでの Hilt の使用」のビルドができない

· loading · loading ·
kiitosu
著者
kiitosu
画像処理やデバイスドライバ、データ基盤構築からWebバックエンドまで、多様な領域に携わってきました。地図解析や地図アプリケーションの仕組みにも経験があり、幅広い技術を活かした開発に取り組んでいます。休日は草野球とランニングを楽しんでいます。
目次

問題
#

androidの開発者向けチュートリアルのプロジェクトがビルドできなくて困った。

以下のエラーが出る

java.lang.IllegalArgumentException: Unsupported class file major version 65

結論
#

以下を実施することでビルドできるようになる

  1. kotlinのバージョンを1.9.22にする
  2. Project Structureで環境変数で指定しているkotlinのバージョンを1.9.22にする
  3. gradleのバージョンを上げる。今回は8.7.3で動作確認できた
  4. JDKのバージョンを21にする

作業記録
#

githubのissueで類似の問題がOpen状態になっている。

kotlinのversionを1.9.22にすると直るという情報があったので、kotlinコンパイラのバージョンアップを試した。

1.kotlinのバージョン更新
#

Android Studio -> Settings -> Other Settings -> Kotlin Compiler -> Kotlin Compiler Version で 1.9.22を設定する

チュートリアルのプロジェクトではkotlinのバージョンは環境変数で指定しているようなので、環境変数のkotlinコンパイラーのバージョンを1.9.22に変更する。

2.環境変数の更新
#

File -> Project Structure の Variable の android-hilt(build-script) の $kotlin_versionを設定する。

Gradleのバージョンアップが必要というエラーが出る。

3.Gradleのバージョンアップ
#

Tools -> AGP Upgrade Assistant を開き、8.7.3にして、「Run selected steps」を実行。

4.JDKのバージョン更新
#

今度はJDKのバージョンでエラーが出る。

appのbuild.gradleのcompileOptionsでJavaVersion.VERSION_21を指定して、「Sync Now」を実行

ビルドできて実行できた!

愚痴
#

Androidアプリのビルドって結構詰まることが多い。 せめてチュートリアルくらいはすぐにビルドできるようにしておいてほしい 🤮

Reply by Email

関連記事

AndroidStdioで署名付きreleaseビルド時・インストール時の署名エラーを解決する
· loading · loading
anroidアプリでawsのパッケージが出力するログを抑制したい
· loading · loading
Flutterプロジェクトにおけるコンパイラの衝突回避の方法
· loading · loading