본문 바로가기
Flutter

[Flutter/플러터] 버전 에러 고치기 2

by 보먀 2024. 1. 24.
728x90
반응형

유데미 강의를 들으며 예전 버전 프로젝트를 깃 클론해오면서 정말정말 다양한 에러들을 만나고 있다. 

 

Could not initialize class org.codehaus.groovy.runtime.InvokerHelper
> Exception java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.reflection.ReflectionCache [in thread "Daemon worker"]

 

위와 같은 에러를 만났고, 찾아보니 프로젝트에 필요한 라이브러리나 환경 설정이 올바르게 이루어지지 않아 발생할 수 있는 에러였다. 예전 버전 프로젝트를 로컬로 가져오게 되면 받게 되면 이런 에러들이 정말 머리가 아프다. 

 

일단 저번처럼 android/gradle/wrapper/gradle-wrapper.properties 로 들어가서 내 java 버전에 맞는 gradle 버전으로 맞춰주었다. 내 java 버전과 java 버전에 맞는 gradle 버전을 확인하고 그 버전대로 바꾸어주면 된다. 

 

distributionUrl=https\://services.gradle.org/distributions/gradle-[Gradle 버전]-all.zip 

 

더 자세한 설명은 여기에서 보면 된다.

 

[Flutter/플러터] BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major vers

유데미 플러터 강의를 들으면서 프로젝트를 깃 클론해서 로컬로 가져오는 경우가 많았는데, 프로젝트가 예전 버전에서 제작된거라 내 컴퓨터 로컬 환경과 맞지 않아 에러가 자주났다. 최근 들

everydayc0ding.tistory.com

 

바꾸어주고 나서도 아래와 같은 에러가 났다. 

 

찾아보니 Android SDK Version 30 이상이면 만날 수 있는 에러로 Android Gradle build 과정에서 Target Android Version / Gradle Version / Grade build tool Version 이 맞지 않아서 발생하는 에러였다. 

 

몇 가지 해결 방법을 찾아보았다. 

 

1. Android SDK Version 을 29 로 바꾸기

Android SDK Version 30 이상이면 만날 수 있는 에러이기 때문에 가장 간단한 방법으로 Android SDK Version 을 29 로 바꾸는 방법이 있지만, 내 경우에는 이미 Android SDK Version 29 였음에도 불구하고 에러가 난 경우이기 때문에 다른 해결 방법을 찾아야 했다. 

 

이 방법을 시도할 사람들은 android/app/build.gradle 로 가서 compileSdkVersion 과 targetSdkVersion 을 아래 사진처럼 29로 바꾸면 된다. 

 

 

(2 ~ 4 번은  Android SDK Version 을 30 이상으로 쓸 사람이 실행하면 된다) 

 

2. Gradle 버전 바꾸기

위에서 말한 것처럼 android/gradle/wrapper/gradle-wrapper.properties 에 가서 distributionUrl=https\://services.gradle.org/distributions/gradle-[Gradle 버전]-all.zip 부분을 수정하면 된다. 

 

 

3. Gradle build tool 버전 바꾸기

android/build.gradle 에 가서

classpath 'com.android.tools.build:gradle:[Gradle build tool  버전] 을 안정화된 버전으로 바꿔주면 된다.

 

stackoverflow 를 참고하였는데, 많은 사람들이 7.0.2 가 안정화된 버전이라고 하여 7.0.2 로 바꾸어 주었다.

 

 

4. Android SDK build tool 설치

file - settings - Languages&Frameworks - Android SDK 로 가서 Android SDK Build-Tools 34 를 체크하고 받아주면 된다.

 

 

여기까지가 Warning: Mapping new ns to old ns 라는 에러를 고치는 방법이었고, 나는 또 다른 에러를 만났는데 전에 한번 마주쳤던 에러였기 때문에 빠르게 고치고 넘어갈 수 있었다. 

 

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.
> A failure occurred while executing cohttp://m.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
   > One or more issues found when checking AAR metadata values:

     The minCompileSdk (31) specified in a
     dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
     is greater than this module's compileSdkVersion (android-29).
     Dependency: androidx.window:window-java:1.0.0-beta04.
     AAR metadata file: 

     The minCompileSdk (31) specified in a
     dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
     is greater than this module's compileSdkVersion (android-29).
     Dependency: androidx.window:window:1.0.0-beta04.
    

자세한 내용은 여기에!

 

[Flutter/플러터] BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major vers

유데미 플러터 강의를 들으면서 프로젝트를 깃 클론해서 로컬로 가져오는 경우가 많았는데, 프로젝트가 예전 버전에서 제작된거라 내 컴퓨터 로컬 환경과 맞지 않아 에러가 자주났다. 최근 들

everydayc0ding.tistory.com

 

 

에러일기 -끝- (❁´◡`❁)

 

 

📖 References 📖

https://sianux1209.github.io/flutter/flutter_gradle_error/

 

[Flutter Error] Warning: Mapping new ns to old ns …

플러터로 개발할 때 자주 만나게 되는 에러, Warning: Mapping new ns to old ns ... 에러를 해결하는 방법에 대해서 알아보자

sianux1209.github.io

 

 

728x90
반응형