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

添加Dagger Hilt后出现java.lang.NoClassDefFoundError: kotlin/streams/jdk8/StreamsKt错误

解决Dagger Hilt集成后出现kotlin/streams/jdk8/StreamsKt类找不到的问题

问题分析

这个NoClassDefFoundError本质是项目缺少Kotlin Streams JDK8的依赖库。你使用的Dagger Hilt 2.44版本依赖了该库,但项目未显式引入,再加上Kotlin版本(1.7.10)与Hilt依赖链路存在版本不匹配,最终导致类加载失败。

解决方案

1. 显式添加对应版本的kotlin-streams-jdk8依赖

在模块级build.gradle的dependencies块中添加以下依赖,版本需与你使用的Kotlin Gradle插件版本(1.7.10)完全一致:

dependencies {
    // 保留原有依赖
    implementation "com.google.dagger:hilt-android:2.44"
    kapt "com.google.dagger:hilt-compiler:2.44"
    
    // 添加Kotlin Streams JDK8依赖
    implementation "org.jetbrains.kotlin:kotlin-streams-jdk8:1.7.10"
}

2. 同步并重建项目

点击Android Studio右上角的「Sync Now」同步依赖,之后依次执行「Clean Project」和「Rebuild Project」,再重新运行应用。

3. 升级Kotlin与Hilt版本(可选,若上述方法无效)

如果添加依赖后问题仍存在,建议升级到更兼容的版本组合:

  • 项目级build.gradle修改classpath:
dependencies {
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.22"
    classpath "com.google.dagger:hilt-android-gradle-plugin:2.48"
}
  • 模块级build.gradle更新Hilt依赖和streams版本:
dependencies {
    implementation "com.google.dagger:hilt-android:2.48"
    kapt "com.google.dagger:hilt-compiler:2.48"
    implementation "org.jetbrains.kotlin:kotlin-streams-jdk8:1.8.22"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 18:58:24