본문 바로가기
노 코드

Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.8.0, expected version is 1.6.0.

by 소소한사각형 2024. 5. 17.
반응형

 

VS Code에서 flutter로 안드로이드 apk로 빌드할 때 발생이 되는 에러입니다.

apk 빌드 : 터미널에 flutter build apk --release --target-platform=android-arm64

 

해당 오류는 Kotlin 모듈의 바이너리 메타데이터 버전이 현재 프로젝트에서 사용하는 Kotlin 컴파일러의 메타데이터 버전과 호환되지 않는 경우 발생합니다. 구체적으로, 바이너리 메타데이터 버전 1.8.0으로 컴파일된 모듈을 사용하려고 하지만, 프로젝트의 Kotlin 컴파일러는 1.6.0 버전의 메타데이터를 기대하고 있다는 의미입니다.

원인

이 문제는 일반적으로 다음과 같은 상황에서 발생할 수 있습니다:

  1. Kotlin 버전 불일치: 프로젝트의 Kotlin 버전이 사용하려는 라이브러리나 모듈의 Kotlin 버전과 일치하지 않을 때 발생합니다.
  2. 라이브러리 업데이트: 종속성으로 사용하는 라이브러리들이 최신 Kotlin 버전으로 업데이트 되었지만, 프로젝트 자체의 Kotlin 버전이 업데이트되지 않았을 때 발생할 수 있습니다.

해결 방법

이 문제를 해결하려면 프로젝트의 Kotlin 버전을 라이브러리와 호환되도록 업데이트해야 합니다. 이를 위해서는 build.gradle 파일을 수정해야 합니다.

1. 프로젝트 수준 build.gradle 수정

프로젝트 루트에 있는 build.gradle 파일을 열고, Kotlin 버전을 최신 버전으로 변경합니다.

buildscript {
    ext.kotlin_version = '1.8.0' // 이 부분을 최신 Kotlin 버전으로 수정
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        // 다른 종속성들
    }
}

2. 모듈 수준 build.gradle 수정

모듈 수준의 build.gradle 파일에서도 Kotlin 플러그인의 버전을 동일하게 설정합니다.

plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-android-extensions'
    // 기타 플러그인들
}

android {
    // Android 설정들
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    // 기타 종속성들
}

 

 

3. Gradle 동기화

build.gradle 파일을 수정한 후, Android Studio에서 Sync Now 버튼을 클릭하여 Gradle 동기화를 실행합니다.

주의 사항

  • Kotlin 버전을 업데이트할 때, 사용하는 모든 라이브러리가 해당 Kotlin 버전을 지원하는지 확인해야 합니다. 일부 라이브러리는 특정 Kotlin 버전에 종속될 수 있습니다.
  • Kotlin 버전을 올린 후에도 여전히 호환성 문제가 발생할 수 있으므로, 필요에 따라 종속성들을 최신 버전으로 업데이트하거나, 특정 버전에 맞는 대체 라이브러리를 사용해야 할 수 있습니다.

이 단계를 따르면 프로젝트의 Kotlin 버전이 라이브러리와 호환되도록 설정되어 문제를 해결할 수 있습니다.

 

해결

반응형