종속 항목이 로컬 라이브러리나 파일 트리가 아닌 경우 Gradle은 settings.gradle
파일의 dependencyResolutionManagement { repositories {...} }
블록에서 지정된 온라인 저장소에서 파일을 찾습니다. 각 저장소를 나열하는 순서에 따라 Gradle이 각 프로젝트 종속 항목의 저장소를 검색하는 순서가 결정됩니다.
예를 들어 종속 항목을 저장소 A와 B에서 모두 사용할 수 있고 개발자가 A를 먼저 나열한 경우 Gradle은 저장소 A에서 종속 항목을 다운로드합니다.
기본적으로 새 Android 스튜디오 프로젝트에서 아래와 같이 Google Maven 저장소를 지정하고 Maven 중앙 저장소를 프로젝트의 settings.gradle
파일의 저장소 위치로 지정합니다.
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
Groovy
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
로컬 저장소에서 항목을 가져오려면 mavenLocal()
을 사용합니다.
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() mavenLocal() } }
Groovy
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() mavenLocal() } }
또는 다음과 같이 특정 Maven이나 Ivy 저장소를 선언할 수 있습니다.
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { maven(url = "https://repo.example.com/maven2") maven(url = "file://local/repo/") ivy(url = "https://repo.example.com/ivy") } }
Groovy
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { maven { url 'https://repo.example.com/maven2' } maven { url 'file://local/repo/' } ivy { url 'https://repo.example.com/ivy' } } }
자세한 내용은 Gradle 저장소 가이드를 참고하세요.
Google Maven 저장소
다음 Android 라이브러리의 가장 최근 버전은 Google Maven 저장소에서 찾을 수 있습니다.
- AndroidX 라이브러리
- 아키텍처 구성요소 라이브러리
- 제약 조건 레이아웃 라이브러리
- AndroidX 테스트
- 데이터 바인딩 라이브러리
- Android 인스턴트 앱 라이브러리
- Wear OS
- Google Play 서비스
- Google Play 결제 라이브러리
- Firebase
Google Maven 저장소 색인에서 사용할 수 있는 모든 아티팩트를 볼 수 있습니다(프로그래매틱 액세스는 아래를 참조).
이러한 라이브러리 중 하나를 빌드에 추가하려면 최상위 수준 build.gradle.kts
파일에 Google Maven 저장소를 포함하세요.
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() // If you're using a version of Gradle lower than 4.1, you must instead use: // maven { // url = "https://maven.google.com" // } // An alternative URL is "https://dl.google.com/dl/android/maven2/". } }
Groovy
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() // If you're using a version of Gradle lower than 4.1, you must instead use: // maven { // url 'https://maven.google.com' // } // An alternative URL is 'https://dl.google.com/dl/android/maven2/'. } }
그런 다음 원하는 라이브러리를 모듈의 dependencies
블록에 추가합니다.
예를 들어 appcompat 라이브러리는 다음과 같습니다.
Kotlin
dependencies { implementation("com.android.support:appcompat-v7:28.0.0") }
Groovy
dependencies { implementation 'androidx.appcompat:appcompat:1.7.0' }
그러나 위 라이브러리의 이전 버전을 사용하려고 하고 종속 항목에 오류가 발생하면 그 버전은 Maven 저장소에서 사용할 수 없으며 대신 오프라인 저장소에서 라이브러리를 가져와야 합니다.
프로그래매틱 액세스
Google Maven 아티팩트에 프로그래매틱 방식으로 액세스하려면 maven.google.com/master-index.xml에서 아티팩트 그룹의 XML 목록을 가져옵니다. 그러면 다음 경로에 모든 그룹의 라이브러리 이름과 버전이 표시됩니다.
maven.google.com/group_path/group-index.xml
예를 들어 android.arch.lifecycle 그룹의 라이브러리는 maven.google.com/android/arch/lifecycle/group-index.xml에 나열됩니다.
또한 다음 경로에서 POM 및 JAR 파일을 다운로드할 수 있습니다.
maven.google.com/group_path/library/version/library-version.ext
예: maven.google.com/android/arch/lifecycle/compiler/1.0.0/compiler-1. 0.0.pom.
SDK 관리자의 오프라인 저장소
Google Maven 저장소에 없는 라이브러리(주로 이전 버전의 라이브러리)의 경우 SDK Manager에서 오프라인 Google 저장소 패키지를 다운로드해야 합니다.
그런 다음 평소와 같이 이러한 라이브러리를 dependencies
블록에 추가할 수 있습니다.
오프라인 라이브러리는 android_sdk/extras/
에 저장됩니다.