-
[Flutter] kotlin 버전 충돌 에러 해결 (Exception: Gradle task assembleDebug failed with exit code 1, Duplicate class kotlin.collections.jdk8)Programing/Flutter 2023. 11. 4. 19:52반응형
잘 돌아가던 flutter 앱에 기능을 추가하려고 패키지를 새로 설치했더니 아래와 같은 에러가 발생했습니다.
Launching lib\main.dart on sdk gphone64 x86 64 in debug mode... Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:checkDebugDuplicateClasses'. > A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable > Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10) Duplicate class kotlin.internal.jdk7.JDK7PlatformImplementations found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10) ... (생략) * 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 8s Exception: Gradle task assembleDebug failed with exit code 1 Exited (1).
사전안내
Exception: Gradle task assembleDebug failed with exit code 1
이 에러가 발생할 수 있는 원인은 정말 다양합니다.
- 의존성 충돌: 프로젝트의 pubspec.yaml 파일에 명시된 의존성들 간에 충돌이 발생할 수 있습니다.
- 플러그인 호환성 문제: 사용 중인 플러그인이 현재의 Flutter SDK 버전이나 다른 플러그인과 호환되지 않을 수 있습니다.
- Gradle 설정 오류: build.gradle 파일에 잘못된 설정이 있거나, Gradle 버전이 프로젝트와 호환되지 않을 수 있습니다.
- AndroidX 호환성 문제: 프로젝트가 AndroidX를 올바르게 지원하지 않을 경우 문제가 발생할 수 있습니다.
- SDK 버전 문제: compileSdkVersion, minSdkVersion, targetSdkVersion 등이 올바르게 설정되지 않았거나, 설치된 Android SDK와 일치하지 않을 수 있습니다.
- 자바 버전 문제: 사용 중인 Java 버전이 Flutter 또는 Gradle과 호환되지 않을 수 있습니다.
- 기타 등등...
따라서 * what went wrong 부분을 확인하고 그 원인에 맞게 해결방법을 달리 해야합니다.
이 글에서는 제가 만난 에러만을 해결합니다.
에러원인
제 경우엔 아래와 같이 kotlin버전이 서로 충돌이 일어나는 경우입니다. (1.8.10 vs 1.7.10)
> Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
새로 설치한 패키지(android_alarm_manager_plus)가 1.8.10을 사용하나 봅니다.
기본으로 설정되어있는 버전(1.7.10)을 1.8.10으로 변경시켜주면 됩니다.
에러해결
android/build.gradle 파일에서 ext.kotlin_version을 올바른 버전으로 변경한 뒤 저장합니다.
반응형'Programing > Flutter' 카테고리의 다른 글