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

Android项目Dagger Hilt报错:无法处理SingletonC组件

解决Hilt编译错误:无法解析dagger.hilt.android.internal.lifecycle.DefaultActivityViewModelFactory

问题根源

这个编译错误的核心原因有两个:

  1. 缺少AndroidX Hilt ViewModel依赖:androidx.hilt.lifecycle.ViewModelFactoryModules属于AndroidX Hilt扩展库,而非核心Hilt库,你当前的依赖配置中未引入该库,导致注解处理器无法找到相关类。
  2. 版本兼容性冲突:你使用的Hilt 2.44发布于2022年,不支持Kotlin 2.0.10版本,注解处理器无法正常解析Hilt内部注解类。

分步解决方案

1. 补充AndroidX Hilt ViewModel依赖

在app/build.gradle的dependencies块中添加以下依赖,版本需与核心Hilt版本对齐:

// AndroidX Hilt ViewModel扩展支持
implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0"
kapt "androidx.hilt:hilt-compiler:1.0.0"

2. 升级Hilt到兼容Kotlin 2.0的版本

将Hilt版本从2.44升级到2.50+(该版本开始支持Kotlin 2.0),修改versions.gradle中的版本配置:

// versions.gradle中更新版本号
library_versions.dagger_hilt = "2.50"
plugin_versions.hilt = "2.50"

3. 彻底清理并重建项目

执行以下Gradle命令清除缓存后重新编译:

./gradlew clean
./gradlew assembleDebug

修改后验证

更新后的app/build.gradle依赖块示例:

dependencies {
  implementation "com.google.dagger:hilt-android:$library_versions.dagger_hilt"
  kapt "com.google.dagger:hilt-compiler:$library_versions.dagger_hilt"
  // 新增AndroidX Hilt依赖
  implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0"
  kapt "androidx.hilt:hilt-compiler:1.0.0"
  implementation "com.mrpg.mobile:pos-shared-library:$library_versions.mrpg_pos_shared"
}

额外注意事项

  • 若升级后仍有问题,建议将composeOptions中的kotlinCompilerExtensionVersion升级到1.5.10,确保与Kotlin 2.0.10兼容
  • 所有Hilt相关依赖(核心库、Gradle插件、AndroidX扩展)必须保持版本一致,避免版本碎片化引发的解析错误

内容的提问来源于stack exchange,提问作者Bradley Deans

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 23:04:57