버전 카탈로그로 빌드 이전

Gradle 버전 카탈로그를 사용하면 확장 가능한 방식으로 종속 항목 및 플러그인을 추가하고 유지할 수 있습니다. Gradle 버전 카탈로그를 사용하면 여러 모듈이 있을 때 종속 항목과 플러그인을 더 쉽게 관리할 수 있습니다. 종속 항목을 업그레이드해야 할 때마다 종속 항목의 이름과 버전을 개별 빌드 파일에 하드코딩하고 각 항목을 업데이트하는 대신, 종속 항목의 중앙 버전 카탈로그를 생성하면 다양한 모듈에서 Android 스튜디오 지원을 활용해 유형 안전 방식으로 이를 참조할 수 있습니다.

이 페이지에서는 Android 앱을 버전 카탈로그로 이전하는 방법에 관한 기본적인 정보를 제공합니다. 자세한 내용은 빌드 종속 항목 추가 및 Gradle 문서를 참고하세요.

버전 카탈로그 파일 만들기

먼저 버전 카탈로그 파일을 만들어야 합니다. 루트 프로젝트의 gradle 폴더에서 libs.versions.toml이라는 파일을 만드세요. Gradle은 기본적으로 libs.versions.toml 파일에서 카탈로그를 검색하므로 이 기본 이름을 사용하는 것이 좋습니다.

libs.versions.toml 파일에 다음 섹션을 추가합니다.

[versions]

[libraries]

[plugins]

섹션은 다음과 같이 사용됩니다.

  • versions 블록에서 종속 항목 및 플러그인 버전을 보유하는 변수를 정의하세요. 후속 블록(librariesplugins 블록)에서 이러한 변수를 사용합니다.
  • libraries 블록에서 종속 항목을 정의하세요.
  • plugins 블록에서 플러그인을 정의하세요.

이전 단계

나열된 순서대로 단계를 실행하는 것이 좋습니다. 빌드에서 빌드 스크립트 및 카탈로그의 종속 항목과 플러그인을 동시에 사용할 수 있으므로, 시간을 들여 종속 항목과 플러그인을 하나씩 개별적으로 이전하세요.

이전 프로세스는 다음과 같습니다.

  1. 새 항목을 카탈로그에 추가합니다.
  2. Android 프로젝트를 동기화합니다.
  3. 이전의 문자열 선언을 카탈로그 유형 안전 접근자로 바꿉니다.

종속 항목 이전

libs.versions.toml 파일의 versionslibraries 섹션에 각 종속 항목의 항목을 추가합니다. 프로젝트를 동기화하고 빌드 파일의 선언을 카탈로그 이름으로 바꿉니다.

다음의 코드 스니펫은 종속 항목을 삭제하기 전의 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

}

자세히 알아보기

버전 카탈로그를 구성하기 위한 다른 옵션에 관해 자세히 알아보려면 다음 리소스를 참고하세요.