サークルのプロジェクトでAndroidStudioを環境構築しなおしたときにこのエラーの解決にだいぶ苦戦したので、メモっておきます。
今回のエラー
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\android_projects\プロジェクト名\android\app\build.gradle' line: 26
* What went wrong:
A problem occurred evaluating project ':app'.
> Could not open cp_dsl generic class cache for script 'C:\src\flutter\packages\flutter_tools\gradle\flutter.gradle' (C:\Users\user\.gradle\caches\6.7\scripts\e8bbxpughrw5wqziqrzrue6w2).
> BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 61
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 38s
┌─ Flutter Fix ─────────────────────────────────────────────────────────────────────────────────┐
│ [!] Your project's Gradle version is incompatible with the Java version that Flutter is using │
│ for Gradle. │
│ │
│ To fix this issue, first, check the Java version used by Flutter by running `flutter doctor │
│ --verbose`. │
│ │
│ Then, update the Gradle version specified in │
│ C:\android_projects\プロジェクト名\android\gradle\wrapper\gradle-wrapper.properties to be │
│ compatible with that Java version. See the link below for more information on compatible │
│ Java/Gradle versions: │
│ https://docs.gradle.org/current/userguide/compatibility.html#java │
│ │
│ │
└───────────────────────────────────────────────────────────────────────────────────────────────┘
要約すると、JavaとGradleのバージョンが違うので合わせろ!!
解決法
1.Javaのバージョンを確認する
java --version
結果、自分のバージョンは11.0.17
でした。( ゚Д゚)
バージョン11のサポート切れてたのによく動いていたなぁ…💦
ということで、新しくJava17をインストール!!
2.Gradleのバージョンを確認する
次に今のGradleのバージョンを確認していきます。
場所はandroid/gradle/wrapper/gradle-wrapper.properties
gradleのバージョンは6.7
でした。
3.対応するバージョンにUpdateする
上のエラーの1番下にhelpのURLがありました。
自分のJavaのバージョンに対応したGradleのバージョンを確認します。
9~16はもう手に入らないので書く意味ないですね…
Java version | Gradle version |
---|---|
8 | 2.0 |
9 | 4.3 |
~省略~ | |
16 | 7.0 |
17 | 7.3 |
18 | 7.5 |
19 | 7.6 |
20 | 8.1 |
今回はJava17をインストールしたのでGradleを7.3にUpdateします。
2で確認したところにUpdateしたいバージョンを入れて実行すると、android/.gradle
に自動的にインストールされます。(便利~)
4.Gradle プラグインをUpdateする
gradleを使うには、そのバージョンに対応するプラグインもUpdateしないといけません。
プラグインのバージョンは、Android Studio の [File] > [Project Structure] > [Project] メニュー、または最上位の build.gradle
ファイルで指定できます。
プラグインのバージョン | 必要な Gradle のバージョン |
---|---|
~省略~ | |
4.0.0 以降 | 6.1.1 以降 |
4.1.0 以降 | 6.5 以降 |
4.2.0 以降 | 6.7.1 以降 |
7.0 | 7.0 以降 |
Gradleのバージョンを7.3
にしたのでプラグインのバージョンを7.0.0
にUpdateします。