Android Studio 가 오랜만에 다시 켜니 업데이트를 하라고 나왔다. 플라밍고 인가로 업그레이드 한거 같았는데, 너무 오랜만인가.
"Android Studio Ladybug Feature Drop 2024.2.2" 으로 업데이트가 되고 나서 노코딩 툴로 작성된 코드를 실행을 하려는데, 다음과 같은 에러가 발생했다.
FAILURE: Build failed with an exception. * What went wrong: Could not open cp_settings generic class cache for settings file 'D:\MyWork\android\codetest\android\settings.gradle' (C:\Users\유저\.gradle\caches\7.3\scripts\8zwv8skbnwbwblxfqzolt02f9). > BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 65 * 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. |
그리고, 힌트로 다음과 같이 나온다.
[!] Your project's Gradle version is incompatible with the Java version that Flutter is using for Gradle. If you recently upgraded Android Studio, consult the migration guide at docs.flutter.dev/go/android-java-gradle-error. Otherwise, to fix this issue, first, check the Java version used by Flutter by running `flutter doctor --verbose`. Then, update the Gradle version specified in D:\MyWork\android\codetest\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 Error: Gradle task assembleDebug failed with exit code 1 |
힌트에 나온대로 "docs.flutter.dev/go/android-java-gradle-error" 로 접속해서 여러 솔루션을 확인해보니, Java 버전과 Gradle (AGP) 랑 관련이 있는 듯하다. 설명에는 플라밍고로 업데이트 되면서 기본 포함된 Java 버전이 11 에서 17 로 바뀌면서 Gradle 7.3 이전은 실행이 안된다고 한다. (7.3 으로 했는데도 안되는 거는 뒤에 나오지만 Java 버전 문제이다.)
힌트 마지막 부분에 Java 버전마다 Gradle 버전도 맞춰야 하는데 해서 https://docs.gradle.org/current/userguide/compatibility.html#java 로 접근해보니 Gradle 버전이 여러개 보인다.
gradle\wrapper\gradle-wrapper.properties 파일을 열어서 확인해보니깐, Gradle 7.3 으로 설정되어 있어서 이값을 바꿔야 한다.
Android Studio 터미널에서 사용중인 Java 버전을 확인해서 userguide/compatibility.html 에 있던 Gradle 버전으로 바꿔야 한다.
PS D:\MyWork\android\codetest> flutter doctor -v
[√] Flutter (Channel master, 3.21.0-11.0.pre.22, on Microsoft Windows [Version 10.0.19045.5247], locale ko-KR)
• Flutter version 3.21.0-11.0.pre.22 on channel master at D:\flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision da8aaf274b (10 months ago), 2024-03-18 23:54:23 -0400
• Engine revision 4a86b5b17c
• Dart version 3.4.0 (build 3.4.0-244.0.dev)
• DevTools version 2.33.1
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
• Android SDK at d:\Android\Sdk
• Platform android-34, build-tools 34.0.0
• Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
• Java version OpenJDK Runtime Environment (build 21.0.4+-12508038-b607.1)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
...
특이한건 시스템에 설정한 JAVA_HOME 의 버전이 아니라, 설치된 최신 버전(OpenJDK 21.0.4) 로 Android toolchain 에서 보여지고 있다. Java 21 에 맞춰서 Gradle 을 8.5 로 변경해 gradle-wrapper.properties 파일에 적용하니 빌드 오류가 사라지고 정상 실행된다.
참고 :
https://stackoverflow.com/questions/77096869/execution-failed-for-task-gradlecompilegroovy
'Engineering > Flutter' 카테고리의 다른 글
플러터 main.dart 간단 코드 (0) | 2023.07.06 |
---|