Android Studio LadybugのJavaとGradle互換性エラー解決法
問題点
Android Studio Ladybugへアップグレード後、プロジェクト同期時に以下のエラーが発生します:
Your build is currently configured to use incompatible Java 21.0.3 and
Gradle 8.0. Cannot sync the project.
We recommend upgrading to Gradle version 8.9.
The minimum compatible Gradle version is 8.5.
The maximum compatible Gradle JVM version is 19.
このエラーは、現在のJava 21.0.3とGradle 8.0の組み合わせに互換性がないことを示しています。特に重要なのは以下の点です:
- Gradle 8.0がサポートする最大Javaバージョンは19まで
- Android Studio LadybugのデフォルトJava SDKは21(互換性なし)
- Gradleアップグレード(8.5以上)が推奨されるが、プロジェクト変更を避けたいケースも多い
推奨解決策: Java 17へのダウングレード
手順詳細
markdown
1. [File] → [Project Structure] を開く
2. [SDK Location] タブで JDK 設定を選択
3. [Add SDK] → [Download JDK] をクリック
4. ベンダーで「JetBrains」を選択
5. バージョン「17」をダウンロード
6. ダウンロード完了後、新しいJDK 17を選択
7. [Apply] → [OK] で変更を保存
markdown
# ターミナルでJavaバージョンを確認
java -version
# 期待する出力例
openjdk version "17.0.12" 2024-10-22
OpenJDK Runtime Environment JBR-17.0.12+1-1207.37-nomod (build 17.0.12+1-b1207.37)
スクリーンショットガイド
- JDKダウンロード画面:
- ベンダー選択画面:
- Java 17選択画面:
代替解決策: JDKパス手動設定(Flutterプロジェクト向け)
特定環境向け
この方法はFlutterプロジェクトでJDKパスを明示的に指定する場合に有効です
bash
# JDK 17のインストール先を指定
flutter config --jdk-dir ~/Library/Java/JavaVirtualMachines/jbr-17.0.12/Contents/Home
# 設定確認
flutter doctor -v
期待する出力例(Javaパスが変更されていることを確認):
bash
[✓] Android toolchain - develop for Android devices
• Java binary at: /Users/[user]/Library/Java/JavaVirtualMachines/jbr-17.0.12/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment JBR-17.0.12+1-1207.37-nomod
トラブルシューティング
モジュールエラーが発生する場合
module jdk.compiler does not export com.sun.tools.javac.main to unnamed module
解決法: 1. Android Studioを完全に終了 2. コンピューターを再起動 3.
./gradlew cleanBuildCache
を実行 その他の注意点
非推奨な回避策
gradle-wrapper.properties
の強制変更- JAVA_HOMEで一時的にJava 19を指定
→ ビルド不安定化のリスクあり
根本解決の選択肢
- 推奨長期対策: Gradleアップグレード(8.5以上)gradle
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
- 一時的回避策: Javaダウングレード(17)
→ プロジェクト変更なしですぐ適用可能
互換性マトリクス:
Gradleバージョン | 最大Javaバージョン |
---|---|
8.0 | Java 19 |
8.5+ | Java 21 |