달달한 스토리

728x90
반응형

 

코딩을 하다 보면 배우고 싶거나 모르는 라이브러리에 대한 소스코드를 찾아다니게 된다.

 

나 같은 경우는 githup에서 소스코드를 찾는 경우가 있는데, 

 

깃 헙 홈페이지에서 소스를 참고하면서 라이브러리 예제를 보면서 적용을 할 수가 있다.

 

혹은 예제 소스를 그대로 다운을 받아 우리가 빌드를 해보려고 시도하는 경우가 있는데,

 

아주 자주자주 이 오류와 마주치게 된다.

 

could not resolve com.android.tools.build:gradle:x.x.x.
could not resolve all files for configuration ':classpath'.
No cached version of com.android.tools.build:gradle:4.0.0 available for offline mode.

 

이 세 가지 오류들이다.

 

앱 개발을 처음 접했을 당시에는 마냥 어렵기만 했지만 지금은 저 오류들이 지금 알고 나니,

 

속이 뻥 뚫린다.

 

원인은

 

깃 헙에서 소스코드를 가져오게 되면, 각 개발자마다 안드로이드에서 개발하던 환경이

 

저마다 다르기 때문에,

 

소스코드를 가져올 때 이 그래들 버전과 플러그인 버전이 호환이 되지 않아 충돌이 나는 것이다.

 

그러니 이 두 녀석에 버전을 맞춰 주면 된다.

 

could not resolve com.android.tools.build:gradle:x.x.x. 이 오류와

 

could not resolve all files for configuration ':classpath'. 이 오류가

 

뜬다면 현재 안드로이드 스튜디오 그래들 버전과 플러그인 버전이 맞지 않아

 

이 문제를 해결 달라고 요청하는 것이다.

 

https://developer.android.com/studio/releases/gradle-plugin?hl=ko

 

Android Gradle 플러그인 출시 노트  |  Android 개발자  |  Android Developers

Android 스튜디오 빌드 시스템은 Gradle을 기반으로 하며 Android Gradle 플러그인에는 Android 앱을 빌드하는 데 사용하는 몇 가지 추가 기능이 있습니다.

developer.android.com

공식 사이트에서 각각에 맞는 버전을 참고하여 플러그인과 그래들을 맞춰주자.

 

플러그인 버전 필요한 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~3.5
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.3 4.10.1+
3.4.0~3.4.3 5.1.1+
3.5.0~3.5.4 5.4.1+
3.6.0~3.6.4 5.6.4+
4.0.0+ 6.1.1+
4.1.0+ 6.5+
4.2.0+ 6.7.1+
7.0 7.0+

 

공식 사이트 중간쯤에 이렇게 플러그인과 그에 맞는 그래들 버전에 표가 있다.

 

보기 좋게 표로 그대로 가져와 보았다.

 

그러면 예를 들어보자.

 

만약 깃허브에서 받은 소스코드에 그래들 버전이 4.0.2인데 저러한 오류가 떴다면 아래와 같은 순서로

 

버전을 수정해주면 된다.

 

1. Gradle Scripts -> build.gradle(project)에 들어간다(app 아님)

 

com.android.tools.build:gradle:4.0.2가 classpath 되어 있다.

 

이것이 플러그인 버전이다.

 

위에 표를 확인해보면

 

4.0.0+ 플러그 버전은 6.1.1+에 그래들 버전을 맞춰 달라고 한다.

 

그렇다면 그래들 버전도 바꾸어주자.

 

2. Gradle Scripts  -> gradle-wrapper.properties로 들어가 보자.

들어가 보니 

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

distributionUrl에 명시된 그래들 버전이 4.1로 되어 있었다.

 

이 버전을 6.1.1로 바꾸어 주자.

 

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

그래들 버전은 이곳에서 경로를 적어주어 다운로드하고 설정하는 것이다.

 

3. 마지막으로 sync now를 눌러준다.

 

그렇다면 그래들 다운이 완료됨과 동시에 빌드가 정상적으로 작동하는 것을 확인할 수 있다.

 

반응형

 

 

그리고 마지막으로

 

No cached version of com.android.tools.build:gradle:4.0.0 available for offline mode.

 

이 오류는 무엇일까?

 

안드로이드 스튜디오를 인터넷이 연결되지 않는 상태에서 사용하게 되면

 

빌드 세팅을 오프라인 상태로 설정해주어야 한다.

 

간혹 이 설정이 활성화되어 있는 경우가 있는데,

 

인터넷이 연결된 상태에서는 이 설정을 비활성화해주어야 한다. 

 

상단 탭에 View -> Tool Windows -> Gradle를 눌러주거나,

 

오른쪽 탭에 그래들 탭에 있으면 클릭해준다.

 

Gradle로 들어가게 되면 Toggle Offline Mode 버튼이 활성화되어 있는 것을 볼 수 있다.

 

한번 클릭하여 이 녀석을 비활성화해주면,

 

앱이 정상 빌드되는 것을 볼 수 있다.

 

오늘도 오류에서 벗어났다. 화이팅!!

728x90
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading