Gradle 버전 카탈로그를 사용하면 확장 가능한 방식으로 종속 항목 및 플러그인을 추가하고 유지할 수 있습니다. Gradle 버전 카탈로그를 사용하면 여러 모듈이 있을 때 종속 항목과 플러그인을 더 쉽게 관리할 수 있습니다. 종속 항목을 업그레이드해야 할 때마다 종속 항목의 이름과 버전을 개별 빌드 파일에 하드코딩하고 각 항목을 업데이트하는 대신, 종속 항목의 중앙 버전 카탈로그를 생성하면 다양한 모듈에서 Android 스튜디오 지원을 활용해 유형 안전 방식으로 이를 참조할 수 있습니다.
이 페이지에서는 Android 앱을 버전 카탈로그로 이전하는 방법에 관한 기본적인 정보를 제공합니다. 자세한 내용은 빌드 종속 항목 추가 및 Gradle 문서
버전 카탈로그 파일 만들기
먼저 버전 카탈로그 파일을 만들어야 합니다. 루트 프로젝트의 gradle
폴더에서 libs.versions.toml
이라는 파일을 만드세요. Gradle은 기본적으로 libs.versions.toml
파일에서 카탈로그를 검색하므로 이 기본 이름을 사용하는 것이 좋습니다.
libs.versions.toml
파일에 다음 섹션을 추가합니다.
[versions]
[libraries]
[plugins]
섹션은 다음과 같이 사용됩니다.
versions
블록에서 종속 항목 및 플러그인 버전을 보유하는 변수를 정의하세요. 후속 블록(libraries
및plugins
블록)에서 이러한 변수를 사용합니다.libraries
블록에서 종속 항목을 정의하세요.plugins
블록에서 플러그인을 정의하세요.
이전 단계
나열된 순서대로 단계를 실행하는 것이 좋습니다. 빌드에서 빌드 스크립트 및 카탈로그의 종속 항목과 플러그인을 동시에 사용할 수 있으므로, 시간을 들여 종속 항목과 플러그인을 하나씩 개별적으로 이전하세요.
이전 프로세스는 다음과 같습니다.
- 새 항목을 카탈로그에 추가합니다.
- Android 프로젝트를 동기화합니다.
- 이전의 문자열 선언을 카탈로그 유형 안전 접근자로 바꿉니다.
종속 항목 이전
libs.versions.toml
파일의 versions
및 libraries
섹션에 각 종속 항목의 항목을 추가합니다. 프로젝트를 동기화하고 빌드 파일의 선언을 카탈로그 이름으로 바꿉니다.
다음의 코드 스니펫은 종속 항목을 삭제하기 전의 build.gradle.kts
파일을 보여줍니다.
Kotlin
dependencies { implementation("androidx.core:core-ktx:1.9.0") }
Groovy
dependencies { implementation 'androidx.core:core-ktx:1.9.0' }
다음의 코드 스니펫은 버전 카탈로그 파일에서 종속 항목을 정의하는 방법을 보여줍니다.
[versions]
ktx = "1.9.0"
[libraries]
androidx-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "ktx" }
카탈로그의 종속 항목 블록에 권장되는 이름은 케밥 케이스입니다 (예:
androidx-ktx
)
코드 완성 지원
.
종속 항목이 필요한 각 모듈의 build.gradle.kts
파일에서 TOML 파일에 정의한 이름으로 종속 항목을 정의합니다.
Kotlin
dependencies { implementation(libs.androidx.ktx) }
Groovy
dependencies { implementation libs.androidx.ktx }
플러그인 이전
libs.versions.toml
파일의 버전과 플러그인 섹션 둘 다에 각 플러그인의 항목을 추가합니다. 프로젝트를 동기화하고 빌드 파일의 plugins{}
블록에서 선언을 카탈로그 이름으로 바꿉니다.
이 코드 스니펫은 플러그인을 삭제하기 전의 build.gradle.kts
파일을 보여줍니다.
Kotlin
// Top-level `build.gradle.kts` file plugins { id("com.android.application") version "7.4.1" apply false } // Module-level `build.gradle.kts` file plugins { id("com.android.application") }
Groovy
// Top-level `build.gradle` file plugins { id 'com.android.application' version '7.4.1' apply false } // Module-level `build.gradle` file plugins { id 'com.android.application' }
다음의 코드 스니펫은 버전 카탈로그 파일에서 플러그인을 정의하는 방법을 보여줍니다.
[versions]
androidGradlePlugin = "7.4.1"
[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
종속 항목과 마찬가지로 plugins
블록 카탈로그에 권장되는 형식
항목은 더 나은 결과를 위해 케밥 케이스 (예: android-application
)입니다.
코드 완성 지원
.
다음 코드는 최상위 및 모듈 수준 build.gradle.kts
파일에서 com.android.application
플러그인을 정의하는 방법을 보여줍니다. 버전 카탈로그 파일의 플러그인에는 alias
를 사용하고 규칙 플러그인과 같이 버전 카탈로그에서 가져오지 않은 플러그인에는 id
를 사용하세요.
Kotlin
// Top-level build.gradle.kts plugins { alias(libs.plugins.android.application) apply false } // module build.gradle.kts plugins { alias(libs.plugins.android.application) }
Groovy
// Top-level build.gradle plugins { alias libs.plugins.android.application apply false } // module build.gradle plugins { alias libs.plugins.android.application }
자세히 알아보기
버전 카탈로그를 구성하기 위한 다른 옵션에 관해 자세히 알아보려면 다음 리소스를 참고하세요.
- 버전 카탈로그 TOML 파일 형식 카탈로그 파일을 구성하기 위한 추가 옵션을 설명합니다.
- Now in Android는 버전 카탈로그를 사용하는 샘플 앱입니다.
알려진 문제
Gradle 버전 카탈로그는 아직 개발 중입니다. 아직 지원되지 않는 항목에 관한 자세한 내용은 알려진 문제 및 제한사항을 참고하세요.