안녕하세요. 메로나입니다.
오늘은 종속성 관리에 관해 공부하겠습니다.
종속성 관리란?
프로젝트에 필요한 외부 리소스를 선언하고 해결하기 위한 자동화 기술입니다.
!!! 버전 카탈로그 !!!
- 종속성 선언을 파일에서 중앙 집중화하는 방법을 제공
- 파일 이름: libs.versions.toml
- 라이브러리와 플러그인의 버전을 적용할 수 있도록 해줍니다.
버전 카탈로그는 무슨 내용들이 들어 있을까?
- 버전: 플러그인과 라이브러리가 참조할 버전 번호 선언
- 라이브러리: 빌드 파일에서 사용되는 라이브러리를 정의
- 번들: 종속성 집합을 정의
- 플러그인: 플러그인을 정의(특화된 여러 기능을 추가)

번들 예시
[versions]
kotlin = "1.8.10"
androidxCore = "1.10.1"
appCompat = "1.6.1"
material = "1.9.0"
[libraries]
androidx-core = { module = "androidx.core:core-ktx", version.ref = "androidxCore" }
appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appCompat" }
material = { module = "com.google.android.material:material", version.ref = "material" }
[bundles]
androidx = ["androidx-core", "appcompat"]
종속성 선언
build.gradle.kts 파일 안에 종속성이 추가되어 있습니다.

1. plugins
- Android 앱을 빌드하는 데 특화된 여러 기능을 추가합니다.
- libs.plugins.androidApplication: 버전 카탈로그 파일에서 plugins 항목에 androidApplication의 의존 정보를 들고 온다는 의미입니다.
- Gradle Task의 집합
- 작업들을 일일이 Gradle 파일에 정의해놓으면 매우 비효율적이므로 이를 미리 안드로이드 개발사인 구글이나 IDE 개발사인 JetBrains에서 미리 만들어 Plugin 형태로 묶어놓았습니다.

2. dependencies
- 외부 라이브러리를 선언하는 곳입니다.
- 버전 카탈로그에서 필요한 외부라이브러리를 가져와서 선언할 수 있습니다.
3. ./gradlew :app:dependencies
- app 모듈에서 dependencies의 정보를 터미널로 볼 수 있습니다.
다음 블로그는 plugin을 만들어서 작성해 보겠습니다.
참고문헌
https://docs.gradle.org/current/userguide/dependency_management_basics.html
https://velog.io/@hjtn/Android-Gradle-Version-Catalog-%EC%A0%95%EB%A6%AC
[Android] Gradle Version Catalog 정리
Android App 개발 프로젝트를 하면서 멀티 모듈을 사용할 때, 버전을 관리하는 방법
velog.io
[Gradle] Plugin이란 무엇인가? 플러그인 이해하고 Custom Plugin 만들기
Gradle Plugin이란? Plugin이란 Gradle Task의 집합이다. Gradle Task는 어플리케이션 빌드부터 테스트까지 다양한 작업을 수행하는 작업 단위를 뜻한다. *만약 Task에 대한 이해가 부족하다면 다음글을 참조
kotlinworld.com
'Build Gradle' 카테고리의 다른 글
| [Build Gradle] Android Signing (0) | 2025.01.22 |
|---|---|
| [Build Gradle] Android Gradle Plugin의 주요 기능 및 활용법 (0) | 2025.01.21 |
| [Build Gradle] Gradle Wrapper 란? (0) | 2025.01.17 |
| [Build Gradle] build.gradle file (0) | 2025.01.16 |
| [Build Gradle] settings.gradle File (0) | 2025.01.15 |
