Gradleビルドエラー「Could not open settings generic class cache」の解決方法
問題の概要
Android StudioやFlutterプロジェクトでビルドを実行する際に、以下のエラーが発生することがあります:
FAILURE: Build failed with an exception.
* What went wrong:
Could not open settings generic class cache for settings file 'path/to/settings.gradle'
BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 60このエラーは、JavaのバージョンとGradleのバージョン、およびAndroid StudioのJDK設定間に互換性の問題があることを示しています。
根本原因
このエラーの主な原因は以下の通りです:
- システムにインストールされているJavaバージョンとAndroid Studioが使用するJavaバージョンの不一致
- GradleバージョンとJavaバージョンの互換性の問題(Javaのバージョンが高すぎる場合など)
- 環境変数
JAVA_HOMEの設定が不適切
解決方法
方法1: JavaとGradleの互換性を確認する
まず、システムのJavaバージョンを確認します:
java -version次に、使用しているJavaバージョンと互換性のあるGradleバージョンを確認します:
| Javaバージョン | サポートされるGradleバージョン |
|---|---|
| 8 | 2.0以上 |
| 9 | 4.3以上 |
| 10 | 4.7以上 |
| 11 | 5.0以上 |
| 12 | 5.4以上 |
| 13 | 6.0以上 |
| 14 | 6.3以上 |
| 15 | 6.7以上 |
| 16 | 7.0以上 |
| 17 | 7.3以上 |
| 18 | 7.5以上 |
| 19 | 7.6以上 |
| 20 | 8.1以上 |
| 21 | 8.4以上 |
TIP
最新の互換性情報はGradle公式ドキュメントで確認できます。
方法2: Gradleバージョンを変更する
プロジェクトのandroid/gradle/wrapper/gradle-wrapper.propertiesファイルを開き、distributionUrlを互換性のあるバージョンに変更します:
distributionUrl=https://services.gradle.org/distributions/gradle-7.6-all.zip方法3: Android StudioのJDK設定を調整する
# Android Studioのjbrフォルダをjreとしてコピー
cd "C:\Program Files\Android\Android Studio"
cp -r jbr jre# Android Studioのjbrフォルダをjreとしてコピー
cd "/Applications/Android Studio.app/Contents"
cp -r jbr jre次に、jre/releaseファイルを開き、JAVA_VERSIONの値をシステムのJavaバージョンと一致させます。
方法4: 環境変数を設定する
環境変数JAVA_HOMEをAndroid StudioのJDKパスに設定します:
setx JAVA_HOME "C:\Program Files\Android\Android Studio\jbr"export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr"または、プロジェクト固有の設定としてandroid/gradle.propertiesに追加します:
org.gradle.java.home=C:/Program Files/Android/Android Studio/jbr方法5: Javaバージョンをダウングレードする
現在、Android開発ではJava 17を使用することが推奨されています:
- Oracle JDK 17をダウンロードしてインストール
- 環境変数
JAVA_HOMEを新しいJDKのパスに設定 - 他のJavaバージョンをアンインストールまたは無効化
WARNING
複数のJavaバージョンがインストールされている場合、システムのデフォルトバージョンとAndroid Studioのバージョンが一致することを確認してください。
推奨される設定
2024年現在、Android開発では以下の組み合わせが安定して動作します:
- Java: バージョン 17
- Gradle: バージョン 7.5-8.0
- Android Gradle Plugin: バージョン 7.3-7.4
トラブルシューティング
それでも問題が解決しない場合:
キャッシュのクリア:
bashflutter clean cd android ./gradlew cleanAndroid Studioでプロジェクトを開く:
- Android Studioで
androidフォルダを開く - ビルドが完了するまで待つ
Build > Rebuild Projectを実行
- Android Studioで
Flutterの設定を確認:
bashflutter doctor flutter config --android-studio-dir="Android Studioのパス"
まとめ
「Could not open settings generic class cache」エラーは、JavaとGradleのバージョン不一致が主な原因です。システムのJavaバージョン、Android StudioのJDK、Gradleバージョンの互換性を確保することで、この問題を解決できます。現在のAndroid開発ではJava 17と互換性のあるGradleバージョンの使用が推奨されています。