[Gradle] Unable to load class 'com.android.build.api.variant.ApplicationAndroidComponentsExtension'com.android.build.api.variant.ApplicationAndroidComponentsExtension 오류 해결

2024. 2. 15. 18:07IT/Android

반응형

가끔 오래된 안드로이드 프로젝트를 열어서 빌드를 하다보면 해결하기 어려운 오류들이 발생한다.

아래 처럼 Gradle 관련 오류가 뜨는 경우가 있는데, 이런 오류는 해결책을 찾기가 쉽지 않은편이다.

Unable to load class 'com.android.build.api.variant.ApplicationAndroidComponentsExtension'
com.android.build.api.variant.ApplicationAndroidComponentsExtension

Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)

Re-download dependencies and sync project (requires network)
The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.

Stop Gradle build processes (requires restart)
Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.

In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.

 

사실 간단하게 생각해서 Gradle 부터 각종 서드파티 라이브러리 등 모든 것의 버전 업데이트 후 빌드를 진행해보면 가장 빠르게 해결될 수 있으나, 이것도 조심스럽게 접근해야 하는 이유가 내가 사용하던 라이브러리 버전에서 업데이트 하는 경우 잘 사용중이던 API가 없어진다거나 파라미터가 추가되는 등의 앱 전체를 뜯어 고쳐야 하는 경우도 발생하기 때문에 조심스럽게 접근해야 한다.

 

결론만 먼저 얘기하면, Project 수준의 build.gradle 에서 "com.android.tools.build:gradle:" 부분을 최신 버전인 7.4.2로 업데이트 하니 해결되었다.

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2'
        classpath 'com.google.gms:google-services:4.4.1'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

tasks.register('clean', Delete) {
    delete rootProject.buildDir
}

 

해결까지는 무려 1일의 시간을 투자하였으며,

시도해본 방법들은 다음과 같다.

1. 자바 버전 변경(1.6 ~ 17 까지 다 시도)

2. 서드파티 라이브러리 버전 최신 업데이트

3. Gradle 캐시 삭제

4. Clean build

5. 안드로이드 스튜디오 Invalidate cache 등등...

6. build.gradle 스크립트 수정 등등

 

여튼 이 글을 읽고 있는 당신도 이런 오류를 보게된다면, Gradle 버전을 먼저 업데이트 해보길 바란다.

반응형