Android Jetpack Compose를 사용한 Empty Activity 프로젝트를 기반으로 하여 hilt 의존성을 추가하는 과정을 기록합니다.
hilt Gradle Setup 이 있지만 Version Catalog 를 사용한 방법은 없음.

프로젝트 환경
- Android Studio Narwhal 4 Feature Drop | 2025.1.4
- Kotlin plugin: K2 mode
- AGP 8.13.0
- 의존성 관리 Version Catalog Toml
라이브러리 추가하기
libs.versions.toml
#추가할 라이브러리의 이름과 버전
[versions]
...
hilt = "2.57.2"
ksp = "2.1.10-1.0.30"
#실제 라이브러리 의존성 정의
#version.ref 는 [versions]에서 추가한 String 사용
#Gradle 직접 주입 방법에서 classpath에 해당
[libraries]
...
hilt-android = { group = "com.google.dagger", name = "hilt-android", version.ref = "hilt" }
hilt-compiler = { group = "com.google.dagger", name = "hilt-android-compiler", version.ref = "hilt" }
#Gradle 플러그인 정의
#Gradle 직접 주입 방법에서 apply plugin: '...'에 해당
[plugins]
...
hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
| [libraries] | [plugins] | |
| 역할 | 코드 실행 시 외부 라이브러리(의존성) 추가 | Gradle 빌드 시 기능 확장(빌드 로직) 추가 |
| 예시 | Retrofit, Coroutines, Room 등 | KSP, Hilt, Kotlin Serialization 등 |
| 적용 위치 | dependencies { ... } 블록 안 | plugins { ... } 블록 안 |
| Gradle 사용 예 | implementation(libs.retrofit) | alias(libs.plugins.ksp) |
build.gradle.kts (project)
//libs.plugins -> libs.version.toml [plugins]
//libs.plugins.xxx -> xxx 는 libs.version.toml 파일에서 정의한 변수명과 동일하며 변수명의 dash는 build.gradle에서는 .(dot)으로 표현
plugins {
...
alias(libs.plugins.ksp) apply false
alias(libs.plugins.hilt) apply false
}
build.gradle.kts (app)
plugins {
...
alias(libs.plugins.hilt)
alias(libs.plugins.ksp)
}
android {
...
}
dependencies {
...
implementation(libs.hilt.android)
ksp(libs.hilt.compiler)
}반응형
'Develop > Android' 카테고리의 다른 글
| Android Gradle 업그레이드 이슈 (3) | 2025.02.07 |
|---|---|
| Android Studio 업그레이드 (4) | 2024.01.15 |
| Singleton VS Application class (3) | 2019.09.04 |
| Android CustomView 만드는 방법 (Java) #2 (1) | 2019.07.24 |
| Android CustomView 만드는 방법 (Java) (2) | 2019.07.22 |