😺
FlutterのAndroid ビルド時にUnsupported class file major version 65
エラー内容
こんなエラーメッセージでハマったので、メモです。
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':gradle:compileGroovy'.
> BUG! exception in phase 'semantic analysis' in source unit '/Users/{username}/.asdf/installs/flutter/3.24.3-stable/packages/flutter_tools/gradle/src/main/groovy/app_plugin_loader.groovy' Unsupported class file major version 65
原因
実行時のJavaのバージョンが合わないために発生します。
今回は、おそらく、Android StudioをアップデートしたときにデフォルトのJavaのバージョンが変更になったため、エラーになったと思われます。
対処法
手順1 インストールされているJavaの一覧を表示
/usr/libexec/java_home -V
自分の場合、結果はこうでした
20.0.2 (arm64) "Amazon.com Inc." - "Amazon Corretto 20" /Users/{username}/Library/Java/JavaVirtualMachines/corretto-20.0.2.1/Contents/Home
19.0.1 (arm64) "Amazon.com Inc." - "Amazon Corretto 19" /Library/Java/JavaVirtualMachines/amazon-corretto-19.jdk/Contents/Home
18.0.2 (arm64) "Amazon.com Inc." - "Amazon Corretto 18" /Users/{username}/Library/Java/JavaVirtualMachines/corretto-18.0.2/Contents/Home
17.0.5 (arm64) "Amazon.com Inc." - "Amazon Corretto 17" /Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home
15.0.2 (x86_64) "Amazon.com Inc." - "Amazon Corretto 15" /Users/{username}/Library/Java/JavaVirtualMachines/corretto-15.0.2/Contents/Home
15.0.2 (x86_64) "Amazon.com Inc." - "Amazon Corretto 15" /Library/Java/JavaVirtualMachines/amazon-corretto-15.jdk/Contents/Home
11.0.22 (x86_64) "Amazon.com Inc." - "Amazon Corretto 11" /Users/{username}/Library/Java/JavaVirtualMachines/corretto-11.0.22/Contents/Home
11.0.20 (x86_64) "Amazon.com Inc." - "Amazon Corretto 11" /Users/{username}/Library/Java/JavaVirtualMachines/corretto-11.0.20/Contents/Home
11.0.19 (x86_64) "Amazon.com Inc." - "Amazon Corretto 11" /Users/{username}/Library/Java/JavaVirtualMachines/corretto-11.0.19/Contents/Home
11.0.13 (x86_64) "Amazon.com Inc." - "Amazon Corretto 11" /Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home
11.0.13 (x86_64) "Amazon.com Inc." - "Amazon Corretto 11" /Users/{username}/Library/Java/JavaVirtualMachines/corretto-11.0.13/Contents/Home
1.8.0_282 (x86_64) "Amazon" - "Amazon Corretto 8" /Library/Java/JavaVirtualMachines/amazon-corretto-8.jdk/Contents/Home
(インストールしすぎですねw)
手順2 Java 17のpathを確認
/usr/libexec/java_home -v "17"
結果はこうでした
/Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home
手順3 flutterが使うJavaのバージョンを変更
flutter config --jdk-dir="/Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home"
完了!
これでまたAndroidのビルドをしてみてください。
ダメなら別のバージョンのJavaにしてみてください。
まとめ
多分もっといい方法あると思います。コメント大歓迎です。
最後に(宣伝)
こんなところでハマりながら友人と個人開発でゲーミフィケーション記録アプリ「HibaQuest」を作っています。
よければお試しください。 → https://hiba.quest
Discussion