You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用KSP替代Kapt使用Hilt?依赖配置问题求助

用KSP替代Kapt配置Hilt的正确步骤与问题排查

一、核心前提:版本严格匹配

KSP的版本必须和你的Kotlin版本完全对应,KSP版本命名规则是[Kotlin版本]-[KSP版本号]。比如你项目里用Kotlin 1.9.0,就不能用适配Kotlin 1.9.22的KSP版本,这是绝大多数配置失败的根源。

二、正确的项目级build.gradle配置

替换你当前的项目级配置,统一版本:

plugins {
    id("com.android.application") version "8.2.2" apply false
    id("org.jetbrains.kotlin.android") version "1.9.0" apply false
    id("com.google.dagger.hilt.android") version "2.51" apply false
    id("com.google.devtools.ksp") version "1.9.0-1.0.13" apply false // 与Kotlin 1.9.0严格匹配
}

三、正确的模块级build.gradle配置

插件与Android配置

plugins {
    id("com.android.application")
    id("org.jetbrains.kotlin.android")
    id("com.google.dagger.hilt.android")
    id("com.google.devtools.ksp")
}

android {
    // 如果你用Compose,需要确保kotlinCompilerExtensionVersion和AGP版本兼容
    // AGP 8.2.2对应compose compiler 1.5.x系列,比如1.5.11
    buildFeatures {
        compose true
    }
    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.11"
    }
}

依赖配置(移除冗余项)

dependencies {
    val hiltVersion = "2.51"
    implementation("com.google.dagger:hilt-android:$hiltVersion")
    ksp("com.google.dagger:hilt-android-compiler:$hiltVersion")
    // 不需要单独添加hilt-compiler,hilt-android-compiler已经包含其功能
}

四、常见错误排查点

  • 版本冲突:再次检查KSP、Kotlin、AGP、Hilt的版本兼容性,Hilt 2.51支持Kotlin 1.9.x,没问题,但KSP必须和Kotlin版本一一对应。
  • 冗余依赖:你之前添加的ksp("com.google.dagger:hilt-compiler:$hiltVersion")属于重复依赖,会引发编译冲突,必须移除。
  • 缓存问题:修改配置后执行./gradlew clean build彻底清理缓存,很多奇怪的编译错误都是旧缓存导致的。
  • 插件顺序:确保com.google.devtools.ksp在org.jetbrains.kotlin.android之后应用,你的当前配置顺序是正确的,无需调整。

内容的提问来源于stack exchange,提问作者esmail.unlinea

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 23:31:20