본문 바로가기

Front-End/Flutter

[Flutter] Flutter 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

반응형

[주의] 해당 문제는 아직 미해결되었습니다. 해결되는대로 글 수정하겠습니다.

 

평화롭던 어느날 디버그 모드 빌드중에 이런 경고가 떴다.

 

코틀린 버전이 안맞아서 생기는 경고,,

 

딱히 손 안대도 빌드는 됐지만

 

빨간 글씨가 맘에 걸려 손을 댔다가 재앙이 시작됐다.

 

1. 인터넷에서 본대로 build.gradle 과 settings.gradle 수정 후 다시 빌드해봐도 계속해서 뜨길래,

 

지피티 쌤한테 여쭈어보니,

 

2. gradle-wrapper.properties 에 있는 gradle 버전도 맞춰준 다음

 

flutter clean

./gradlew clean

flutter pub get
을 하라신다..

 

3. gradle 버전을 코틀린 버전에 맞춰 설정했는데

 

./gradlew clean 과정에서 자바가 없다고 설치하라고 하신다.

 

산지 얼마 안된 맥북이라 자바를 미처 깔지 않았다는 사실을 깨닫고

 

코틀린과 gradle 버전에 맞춰 자바를 깔고 다시 실행.

 

4. 이번에는 

 

Execution failed for task ':app:compileDebugKotlin'.
> Inconsistent JVM-target compatibility detected for tasks 'compileDebugJavaWithJavac' (1.8) and 'compileDebugKotlin' (17).

 

이런 에러가 떴다.

 

5. 코틀린 컴파일러와 자바 컴파일러의 대상 JVM 버전이 달라서 그렇단다.

 

다시 찾은 지피티쌤.

 

둘다 JVM 17 버전을 사용하도록 build.gradle 수정

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
    
    kotlinOptions {
        jvmTarget = "17"
    }
}

다시

flutter clean

./gradlew clean

flutter pub get

후 실행

 

결과는?

 

원점회귀 ㅋㅋㅋㅋㅋㅋㅋㅋ

 

해결되면 다시 돌아오겠습니다..

반응형