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

使用Versions Library配置Dagger Hilt+KSP时遇构建错误

解决Dagger Hilt配置KSP时"No providers found in processor classpath"构建错误

问题重现

配置Dagger Hilt时通过KSP引入编译器依赖,项目同步正常,但执行构建时报错:

> Task :app:kspDebugKotlin FAILED
e: [ksp] No providers found in processor classpath.
e: Error occurred in KSP, check log for detail

错误原因

  1. 未配置Hilt Android Gradle插件:Hilt需要通过插件生成核心代码,缺少插件会导致KSP无法识别处理器。
  2. KSP依赖错误:Hilt 2.38+版本中,KSP对应的处理器依赖已从hilt-compiler改为hilt-android-compiler,原依赖仅适用于kapt/Java环境。

修复步骤

1. 更新libs.versions.toml配置

添加Hilt插件并替换KSP处理器依赖:

[versions]
agp = "8.3.1"
kotlin = "1.9.10"
ksp = "1.9.10-1.0.13"
hiltAndroid = "2.42"
hiltNavigationCompose = "1.0.0"

[libraries]
hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hiltAndroid" }
# 替换原hilt-compiler为KSP专用依赖
hilt-android-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "hiltAndroid" }
hilt-navigation-compose = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "hiltNavigationCompose" }

[plugins]
androidApplication = { id = "com.android.application", version.ref = "agp" }
jetbrainsKotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
# 添加Hilt Android插件
hilt-android = { id = "com.google.dagger.hilt.android", version.ref = "hiltAndroid" }

2. 根项目build.gradle引入Hilt插件

plugins {
    alias(libs.plugins.androidApplication) apply false
    alias(libs.plugins.jetbrainsKotlinAndroid) apply false
    alias(libs.plugins.ksp) apply false
    // 新增Hilt插件引用
    alias(libs.plugins.hilt-android) apply false
}

3. 模块app/build.gradle应用插件并修正依赖

plugins {
    alias(libs.plugins.androidApplication)
    alias(libs.plugins.jetbrainsKotlinAndroid)
    alias(libs.plugins.ksp)
    // 应用Hilt插件
    alias(libs.plugins.hilt-android)
}

dependencies {
    implementation(libs.hilt.android)
    implementation(libs.hilt.navigation.compose)
    // 替换原ksp(libs.hilt.compiler)
    ksp(libs.hilt.android-compiler)
}

4. 确保Application类添加Hilt注解

在自定义Application类上添加@HiltAndroidApp注解,触发Hilt代码生成:

@HiltAndroidApp
class MyApp : Application() {
    // 业务代码
}

验证

重新执行构建命令,错误应消失。若仍有问题,可尝试清理项目缓存(File > Invalidate Caches...)后重新构建。

内容的提问来源于stack exchange,提问作者Carlos Rosiles

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 14:41:13