🎯 在正式开始 Hilt + Compose 依赖注入之前,必须搭建稳固的构建环境。本节将手把手带你完成 Hilt 库引入、Gradle 依赖配置、Application 类改造,让项目拥有“开箱即用”的 DI 能力。所有步骤均基于最新稳定版,适配 Android 14+。
在项目根 build.gradle.kts (或 build.gradle) 中声明 Hilt 插件,然后在 app 模块中引入核心依赖与编译器。
// 根 build.gradle.kts
plugins {
id("com.google.dagger.hilt.android") version "2.50" apply false
id("org.jetbrains.kotlin.android") version "1.9.22" apply false
id("com.android.application") version "8.2.2" apply false
}
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("com.google.dagger.hilt.android")
kotlin("kapt") // 或 id("kotlin-kapt")
}
android {
// ... compileSdk = 34, minSdk = 24, targetSdk = 34
}
dependencies {
// Hilt 核心
implementation("com.google.dagger:hilt-android:2.50")
kapt("com.google.dagger:hilt-android-compiler:2.50")
// Hilt + Compose 整合 (ViewModel 注入)
implementation("androidx.hilt:hilt-navigation-compose:1.2.0")
// Compose BOM (可选但推荐)
implementation(platform("androidx.compose:compose-bom:2024.02.00"))
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.material3:material3")
// ... 其他 compose 依赖
}
// 允许 kapt 处理 Hilt 注解
kapt {
correctErrorTypes = true
}
| 依赖 | 版本 | 说明 |
|---|---|---|
| com.google.dagger:hilt-android | 2.50 | Hilt 核心库 |
| hilt-android-compiler | 2.50 | 注解处理器 (kapt) |
| androidx.hilt:hilt-navigation-compose | 1.2.0 | Compose 导航 + ViewModel 注入 |
| compose-bom | 2024.02.00 | 统一管理 Compose 版本 |
创建一个继承 Application 的类,并使用 @HiltAndroidApp 注解。这是 Hilt 组件树的根节点,所有依赖注入的起点。
// MainApplication.kt
package com.example.hiltcompose
import android.app.Application
import dagger.hilt.android.HiltAndroidApp
@HiltAndroidApp
class MainApplication : Application() {
override fun onCreate() {
super.onCreate()
// 可在此初始化全局配置 (例如日志、崩溃收集)
}
}
⚠️ 别忘了在 AndroidManifest.xml 中声明自定义 Application:
<application
android:name=".MainApplication"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
... >
<activity android:name=".MainActivity" ... />
</application>
./gradlew clean assembleDebug,确保无 kapt 错误。@HiltAndroidApp 会导致 Dagger does not support 异常。kapt.correctErrorTypes = true。hilt-android 依赖并配置 kapt。📌 快速检查清单:① 根级插件 ② app 依赖 + kapt ③ Application 注解 ④ Manifest 声明。完成这四步,Hilt 环境即搭建成功!
app/ ├── src/main/ │ ├── java/com/example/hiltcompose/ │ │ ├── MainApplication.kt ← @HiltAndroidApp │ │ ├── MainActivity.kt ← @AndroidEntryPoint │ │ ├── ui/ │ │ │ └── screen/ │ │ │ └── HomeScreen.kt ← 使用 hiltViewModel() │ │ └── viewmodel/ │ │ └── HomeViewModel.kt ← @HiltViewModel │ ├── AndroidManifest.xml ← android:name=".MainApplication" │ └── res/ ├── build.gradle.kts ← hilt 插件 + 依赖 └── ...