Android 프로젝트 생성 시 Gradle 빌드 오류 해결

오류 현상

Android 프로젝트를 처음 생성하고 빌드할 때 다음과 같은 오류가 발생할 수 있습니다:

프로젝트 'Demo' 구성 중 문제가 발생했습니다.
> 모든 파일을 ':classpath' 구성에 대해 해결할 수 없습니다.
   > com.android.tools.build:gradle:4.2.2를 해결할 수 없습니다.
     필요한 항목:
         프로젝트 :
      > com.android.tools.build:gradle:8.0.2의 일치하는 변형을 찾을 수 없습니다. 소비자는 런타임에 사용하기 위한 라이브러리, Java 8과 호환되며 jar로 패키지화되고, 종속성이 외부로 선언된 라이브러리를 찾도록 구성되었으며, 'org.gradle.plugin.api-version' 속성 값 '8.0'이 필요하지만:
          - 'apiElements' 변형 com.android.tools.build:gradle:8.0.2는 jar로 패키지화된 라이브러리를 선언하고 종속성이 외부로 선언됩니다:
              - 이 구성 요소는 컴파일 시간에 사용하기 위한 구성 요소를 선언하며 Java 11과 호환되지만, 소비자는 런타임에 사용하기 위한 구성 요소를 필요로 하며 Java 8과 호환되어야 합니다
              - 다른 호환 속성:
                  - org.gradle.plugin.api-version에 대해 아무 것도 언급하지 않음 (필요 값 '8.0')
          - 'javadocElements' 변형 com.android.tools.build:gradle:8.0.2는 런타임에 사용하기 위한 구성 요소를 선언하고 종속성이 외부로 선언됩니다:
              - 이 구성 요소는 문서를 선언하고 소비자는 라이브러리를 필요로 합니다
              - 다른 호환 속성:
                  - 대상 Java 버전에 대해 아무 것도 언급하지 않음 (Java 8과의 호환성 필요)
                  - 요소가 jar로 패키지화되어야 함에 대해 아무 것도 언급하지 않음
                  - org.gradle.plugin.api-version에 대해 아무 것도 언급하지 않음 (필요 값 '8.0')
          - 'runtimeElements' 변형 com.android.tools.build:gradle:8.0.2는 런타임에 사용하기 위한 라이브러리를 선언하며 jar로 패키지화되고 종속성이 외부로 선언됩니다:
              - 이 구성 요소는 Java 11과 호환되는 구성 요소를 선언하지만 소비자는 Java 8과 호환되는 구성 요소를 필요로 합니다
              - 다른 호환 속성:
                  - org.gradle.plugin.api-version에 대해 아무 것도 언급하지 않음 (필요 값 '8.0')
          - 'sourcesElements' 변형 com.android.tools.build:gradle:8.0.2는 런타임에 사용하기 위한 구성 요소를 선언하고 종속성이 외부로 선언됩니다:
              - 이 구성 요소는 문서를 선언하고 소비자는 라이브러리를 필요로 합니다
              - 다른 호환 속성:
                  - 대상 Java 버전에 대해 아무 것도 언급하지 않음 (Java 8과의 호환성 필요)
                  - 요소가 jar로 패키지화되어야 함에 대해 아무 것도 언급하지 않음
                  - org.gradle.plugin.api-version에 대해 아무 것도 언급하지 않음 (필요 값 '8.0')
   > com.android.tools.build:gradle:8.0.2를 해결할 수 없습니다.
     필요한 항목:
         프로젝트 : > com.android.application:com.android.application.gradle.plugin:8.0.2
         프로젝트 : > com.android.library:com.android.library.gradle.plugin:8.0.2
      > com.android.tools.build:gradle:8.0.2의 일치하는 변형을 찾을 수 없습니다. 소비자는 런타임에 사용하기 위한 라이브러리, Java 8과 호환되며 jar로 패키지화되고, 종속성이 외부로 선언된 라이브러리를 찾도록 구성되었으며, 'org.gradle.plugin.api-version' 속성 값 '8.0'이 필요하지만:
          - 'apiElements' 변형 com.android.tools.build:gradle:8.0.2는 jar로 패키지화된 라이브러리를 선언하고 종속성이 외부로 선언됩니다:
              - 이 구성 요소는 컴파일 시간에 사용하기 위한 구성 요소를 선언하며 Java 11과 호환되지만, 소비자는 런타임에 사용하기 위한 구성 요소를 필요로 하며 Java 8과 호환되어야 합니다
              - 다른 호환 속성:
                  - org.gradle.plugin.api-version에 대해 아무 것도 언급하지 않음 (필요 값 '8.0')
          - 'javadocElements' 변형 com.android.tools.build:gradle:8.0.2는 런타임에 사용하기 위한 구성 요소를 선언하고 종속성이 외부로 선언됩니다:
              - 이 구성 요소는 문서를 선언하고 소비자는 라이브러리를 필요로 합니다
              - 다른 호환 속성:
                  - 대상 Java 버전에 대해 아무 것도 언급하지 않음 (Java 8과의 호환성 필요)
                  - 요소가 jar로 패키지화되어야 함에 대해 아무 것도 언급하지 않음
                  - org.gradle.plugin.api-version에 대해 아무 것도 언급하지 않음 (필요 값 '8.0')
          - 'runtimeElements' 변형 com.android.tools.build:gradle:8.0.2는 런타임에 사용하기 위한 라이브러리를 선언하며 jar로 패키지화되고 종속성이 외부로 선언됩니다:
              - 이 구성 요소는 Java 11과 호환되는 구성 요소를 선언하지만 소비자는 Java 8과 호환되는 구성 요소를 필요로 합니다
              - 다른 호환 속성:
                  - org.gradle.plugin.api-version에 대해 아무 것도 언급하지 않음 (필요 값 '8.0')
          - 'sourcesElements' 변형 com.android.tools.build:gradle:8.0.2는 런타임에 사용하기 위한 구성 요소를 선언하고 종속성이 외부로 선언됩니다:
              - 이 구성 요소는 문서를 선언하고 소비자는 라이브러리를 필요로 합니다
              - 다른 호환 속성:
                  - 대상 Java 버전에 대해 아무 것도 언급하지 않음 (Java 8과의 호환성 필요)
                  - 요소가 jar로 패키지화되어야 함에 대해 아무 것도 언급하지 않음
                  - org.gradle.plugin.api-version에 대해 아무 것도 언급하지 않음 (필요 값 '8.0')

원인

이 문제는 주로 JDK 버전 호환성 문제로 인해 발생합니다. Gradle이 요구하는 Java 버전과 프로젝트에서 사용하는 JDK 버전이 일치하지 않을 때 발생합니다.

해결 방법

  1. Android Studio에서 File > Project Structure로 이동합니다.

  2. SDK Location 탭을 선택하고, Gradle Settings 링크를 클릭합니다.

  3. Gradle JDK 항목에서 Android Studio 기본 제공 jbr을 선택합니다.

이렇게 설정하면 Gradle이 자동으로 다시 빌드되어 문제가 해결됩니다.

추가 팁: Maven 미러 설정

국내에서는 외부 Maven 저장소 접속이 느릴 수 있으므로, 다음과 같은 국내 미러를 사용하면 빌드 속도를 향상시킬 수 있습니다:

buildscript {
    repositories {
        // 국내 미러로 Gradle 프로젝트 빌드 속도 향상
        maven{ url 'https://maven.aliyun.com/nexus/content/groups/public/'}
        maven { url 'https://maven.aliyun.com/nexus/content/repositories/google' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.2'
        // 주의: 애플리케이션 종속성은 개별 모듈의 build.gradle 파일에 배치해야 합니다
    }
}

// 하위 프로젝트/모듈에 공통된 구성 옵션을 추가할 수 있는 최상위 빌드 파일
plugins {
    id 'com.android.application' version '8.0.2' apply false
    id 'com.android.library' version '8.0.2' apply false
}

태그: Android Gradle JDK 빌드 오류 프로젝트 구성

6월 20일 21:04에 게시됨