Android Studio gradle sync 실패가 발생하는 경우 해결방법
build.gradle(:app) 파일에서 라이브러리들의 버전업 후 Sync를 진행하였는데 아래와 같은 오류가 발생하였다.
ERROR: The specified Gradle distribution 'https://services.gradle.org/distributions/gradle-4.10.1-all.zip' does not appear to contain a Gradle distribution.
이런 경우는 안드로이드 Gradle plugin버전과 사용하려는 Gradle 버전이 다른 경우 발생한다.
그럼 이와 같은 경우는 왜 발생하는 것일까? 원인은 하나이다. 특정 앱 프로젝트를 업데이트할 일이 없었고, 안드로이드 스튜디오 버전은 업데이트 되어서 Gradle 버전도 올라갔다. 이 상황에서 해당 특정 프로젝트를 불러와서 빌드하려고 하면 오류가 발생한다.
Android 스튜디오를 업데이트하면 Gradle 또한 사용 가능한 최신 버전으로 업데이트하라는 메시지가 표시될 수 있습니다. 업데이트를 수락하거나 프로젝트의 빌드 요구사항에 따라 버전을 수동으로 지정할 수 있습니다.
다음 표는 각 버전의 Android Gradle 플러그인에 필요한 Gradle 버전을 보여줍니다. 최상의 성능을 위해서는 Gradle과 플러그인을 가능한 최신 버전으로 사용해야 합니다.
플러그인 버전 필요한 Gradle 버전
1.0.0~1.1.3 | 2.2.1~2.3 |
1.2.0~1.3.1 | 2.2.1~2.9 |
1.5.0 | 2.2.1~2.13 |
2.0.0~2.1.2 | 2.10~2.13 |
2.1.3~2.2.3 | 2.14.1+ |
2.3.0+ | 3.3+ |
3.0.0+ | 4.1+ |
3.1.0+ | 4.4+ |
3.2.0~3.2.1 | 4.6+ |
3.3.0~3.3.2 | 4.10.1+ |
3.4.0~3.4.1 | 5.1.1+ |
3.5.0-3.5.3 | 5.4.1+ |
3.6.0+ | 5.6.4+ |
[해결방법]
Android 스튜디오의 File > Project Structure > Project 메뉴에서 변경할 수 있다.
또는 최상위 gradle/wrapper/gradle-wrapper.properties 파일의 Gradle 배포 참조를 편집하여 Gradle 버전을 지정할 수 있다.
#Sun Apr 05 19:28:45 PDT 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https://services.gradle.org/distributions/gradle-5.6.4-all.zip
또는 최상위 build.gradle 파일에서 플러그인 버전을 지정할 수 있습니다. 플러그인 버전은 Android 스튜디오 프로젝트에 빌드된 모든 모듈에 적용됩니다. 다음 예는 build.gradle 파일에서 플러그인을 버전 3.6.0으로 설정합니다.
buildscript {
repositories {
// Gradle 4.1 and higher include support for Google’s Maven repo using
// the google() method. And you need to include this repo to download
// Android Gradle plugin 3.0.0 or higher.
google()
…
}
dependencies {
classpath ‘com.android.tools.build:gradle:3.6.0’
}
}