개요
안드로이드 스튜디오 LadyBug 버전이 나와 업데이트했습니다. 업데이트 한 후 빌드에 문제 없었던 플러터 프로젝트 빌드 에러가 발생했는데요, 이 문제를 해결해 보겠습니다.
주의
이 글에서 소개하는 해결 방법이 항상 통하는 것은 아닙니다. 제가 다른 문제가 발생할 때 참조하기 위해 작성한 메모성 글입니다. 각 행동에 대한 충분한 근거를 서술하지 않습니다.
각 개발 환경이 모두 다르기 때문입니다. 사용하는 NDK 버전, 플러그인 버전, Dart SDK, Flutter SDK 버전들을 고려하여 적용해보시길 바랍니다.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':gradle:compileGroovy'.
> BUG! exception in phase 'semantic analysis' in source unit '/home/kingwill101/flutter/packages/flutter_tools/gradle/src/main/groovy/app_plugin_loader.groovy' 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.
* Get more help at https://help.gradle.org
BUILD FAILED in 3s
gradle-wrapper.properties 수정
- 위치 : android/gradle/gradle-wrapper.properties
- 수정 내용 : distributionUrl 수정 (기존 버전 7.5-> 현재 버전 8.7)
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
settings.gradle 수정
- 위치 : android/settings.gradle
id "com.android.application" version "8.6.0" apply false // original : 7.3.0
빌드 클린 후 다시 빌드
flutter clean
flutter pub get
참고) Dart SDK 업그레이드
flutter upgrade
참고) NDK 버전 추가
특정 플러그인을 사용하기 위해 다른 버전의 NDK가 필요하다는 내용의 에러가 발생할 수 있습니다. 아래와 같이 android/app/build.gradle 에 ndkVersion 을 추가해 주세요. 필요한 ndk 버전은 에러 로그에 명시되어 있습니다.
android {
compileSdkVersion 34
ndkVersion flutter.ndkVersion
ndkVersion = "26.1.10909125" // <-- 여기에 에러 로그에 나오는 NDK 버전 추가
참고) 플러그인 업그레이드
gradle 및 SDK 업데이트에 따라 사용 중인 플러그인들을 업그레이드 해야 할 수도 있습니다. 저는 이번에 4개 정도의 플러그인들을 업그레이드 했네요.
참고 자료
'프로그래밍 > Flutter <Dart>' 카테고리의 다른 글
[Flutter] 플러터 앱 성능 측정 및 평가, 성능을 개선하는 방법 with Android Studio (3) | 2024.11.11 |
---|---|
[Flutter] flutter_native_splash 사용하여 Splash Screen 구현하기 (3) | 2024.10.06 |
[Flutter] Futurebuilder Future ListView 템플릿 (0) | 2024.09.28 |
[Flutter] Deprecated imperative apply of Flutter's Gradle plugins (2) | 2024.09.25 |
[Flutter] Futurebuilder Future 객체 리로드 중일 때의 상태 표현하기 (2) | 2024.09.22 |