第1章:Hilt项目初始化与依赖配置

1.1 整体流程概述

Hilt 是 Google 基于 Dagger 的轻量级依赖注入框架,专为 Android 设计。在项目中使用 Hilt 需要完成以下初始化步骤:

  1. 在项目级 build.gradle 中添加 Hilt Gradle 插件 classpath
  2. 在应用级 build.gradle 中声明 Hilt 插件与核心依赖
  3. 启用注解处理器(kapt 或 ksp)
  4. 同步 Gradle 项目,完成基础环境搭建
  5. (可选)创建带有 @HiltAndroidApp 注解的 Application 类

下面通过流程图直观展示这一链条:

Hilt 项目初始化流程 项目级 build.gradle 添加 classpath 插件 应用级 build.gradle apply 插件 + 依赖 启用 kapt 或 ksp Sync Now / 命令行同步 第5步后可选添加 @HiltAndroidApp

1.2 添加 Hilt Gradle 插件

在项目根目录的 build.gradle(Project 级别)中,配置 Hilt 插件的 classpath:

buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.google.dagger:hilt-android-gradle-plugin:2.50'
    }
}

注意:版本号务必与 Hilt 库版本保持一致。建议查看 官方 Release Notes 获取最新稳定版。

1.3 声明 Hilt 模块依赖

在应用模块的 build.gradle(Module: app)顶部应用插件:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'dagger.hilt.android.plugin'
// 如果使用 kapt 或 ksp,参考 1.4 节

然后在 dependencies 块中加入核心库和编译器:

dependencies {
    implementation "com.google.dagger:hilt-android:2.50"
    kapt "com.google.dagger:hilt-compiler:2.50"
    // 可选的扩展库:Navigation Compose 集成等
    implementation "androidx.hilt:hilt-navigation-compose:1.2.0"
}

这里使用 kapt 作为示例;若选用 KSP,请见下方对比。

1.4 启用 kapt 或 ksp

Hilt 编译器需要注解处理器参与。目前有两种主流选择:kapt(Kotlin Annotation Processing Tool)和 ksp(Kotlin Symbol Processing)。下表列出主要差异:

特性kaptksp
处理速度较慢(生成 Java stubs)更快(直接操作符号)
Gradle 配置apply plugin: 'kotlin-kapt'apply plugin: 'com.google.devtools.ksp'
Hilt 依赖kapt "com.google.dagger:hilt-compiler:2.50"ksp "com.google.dagger:hilt-compiler:2.50"
推荐场景兼容性优先新项目、构建速度敏感

启用 kapt:

  • 在应用级 build.gradle 顶部添加 apply plugin: 'kotlin-kapt'。
  • 将编译器依赖改为 kapt "…"(见1.3示例)。

启用 ksp:

  • 在项目级 build.gradle 的 dependencies 中添加 KSP 插件 classpath:
    classpath "com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin:2.0.0-1.0.22"
  • 在应用级 build.gradle 顶部添加 apply plugin: 'com.google.devtools.ksp'。
  • 将编译器依赖改为 ksp "com.google.dagger:hilt-compiler:2.50"。
💡 选择建议: 如果项目已使用 kapt 且迁移成本高,kapt 仍然可用;新项目推荐 KSP,构建速度提升显著(尤其在增量编译时)。

1.5 同步项目

完成上述配置后,Gradle 会提示同步。点击 Android Studio 工具栏的 Sync Now 按钮,或通过命令行同步:

./gradlew assembleDebug

同步成功后,Hilt 的基础依赖便就绪。下一步即可创建 Application 子类并添加 @HiltAndroidApp 注解。

⚠️ 常见错误:
  • 忘记在项目级 build.gradle 添加 Hilt 插件 classpath → 报错 Plugin with id 'dagger.hilt.android.plugin' not found
  • kapt/ksp 与 Hilt 编译器版本号不匹配 → 建议始终使用相同的 Hilt 版本号
  • Android Gradle Plugin(AGP)版本过低导致 KSP 不兼容 → 需升级 AGP 至 8.2+