[021] 플러터 (Flutter) Tip - 안드로이드 compileSdk 올릴 때 나오는 오류 해결 방법

2025. 8. 1. 15:36모바일어플개발/Flutter Tips

반응형

안녕하세요~ totally 개발자입니다.

 

최근 minSdkVersion을 최소 35로 해야 앱 업데이트가 가능하다는 공지가 있기에 해당 부분을 작업하며 나오는 오류들을 하나씩 해결한 기록입니다. 대부분 Stack overflow를 참고하였고 참고 링크도 아래 모두 달아두었습니다.

 

Step 1: 먼저 android > app > build.gradle 파일로 접속해서 compileSdk를 35로 설정

 

 

Step 2: 설치된 gradle 버전에 따라 AGP 버전 오류가 나오면, 아래처럼 android > settings.gradle 파일에 com.android.application 버전을 수정해줍니다.

 

Step 3: android > gradle > wrapper > gradle-wrapper.properties 파일에서 gradle 버전을 아래와 같이 수정합니다.

 

distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-all.zip

 

Step 4: How to solve "Could not create an instance of type cohttp://m.android.build.api.variant.impl.LibraryVariantBuilderImpl" 만약 이런 오류가 나온다면 android > build.gradle에 아래 subprojects 코드를 추가하여 해결이 가능합니다.

allprojects {
  repositories {
    google()
    mavenCentral()
  }

  subprojects {
    afterEvaluate { project ->
      if (project.hasProperty('android')) {
        project.android {
          if (namespace == null) {
            namespace project.group
          }
        }
      }
    }
  }
}

 

 

Step 5: 그 다음에 혹시 Warning: SDK processing. This version only understands SDK XML versions up to 3 but an SDK XML file of version 4 was encountered. This can happen if you use versions of Android Studio and the command-line tools that were released at different times. 이런 SDK 오류가 나온다면 Android Studio를 실행하여 SdkManager를 실행해봅니다. 최신 버전이 제대로 설치되어 있는지 확인해봅니다. 최신 버전이 아니라면 최신 버전을 Android SDK Build Tools와 Android SDK Command-line Tools 모두 설치해줍니다

 

 

Step 7: Incorrect package found in source AndroidManifest.xml: android/app/src/main/AndroidManifest.xml. Setting the namespace via the package attribute in the source AndroidManifest.xml is no longer supported. 만약 위와 같은 패키지 를 찾을 수 없다는 오류 메시지가 나오면 android > app > src > main > AndroidManifest.xml에 첫 번째 줄에 manifest 태그의 package 부분을 지워주면 됩니다. 

 

Step 8: 만약 'compileDebugJavaWithJavac' task (current target is 11) and 'compileDebugKotlin' task (current target is 1.8) jvm target compatibility should be set to the same Java version. 이런 코틀린, JVM 타겟 오류가 나오면 

아래와 같이 android > app > build.gradle에 접속하신 후, 모두 같은 버전인 1.8로 통일하신다음 

android > gradle.properties 파일에 아래 부분을 추가해줍니다.

kotlin.jvm.target.validation.mode = IGNORE

 

저는 여기까지 진행해서 빌드는 성공하였습니다. 오류 해결 및 개발에 도움되셨기를 바랍니다. 감사합니다.

 

References:

 

https://stackoverflow.com/questions/78744324/how-to-solve-could-not-create-an-instance-of-type-com-android-build-api-variant

https://stackoverflow.com/questions/71003124/flutter-cannot-run-project-afterevaluateclosure-when-the-project-is-already-ev/71014094#71014094

https://stackoverflow.com/questions/77317993/compiledebugjavawithjavac-task-current-target-is-1-8-and-compiledebugkotlin

https://stackoverflow.com/questions/69079963/how-to-set-compilejava-task-11-and-compilekotlin-task-1-8-jvm-target-com

반응형