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

Android应用集成Hilt构建报错:空指针异常求助

解决Hilt集成时hiltJavaCompilePreprod任务空指针错误

问题详情

构建Android应用时触发错误:

任务':app:hiltJavaCompilePreprod'执行失败。
java.lang.NullPointerException: Cannot invoke "dagger.spi.shaded.androidx.room.compiler.processing.XTypeElement.getAnnotation(com.squareup.javapoet.ClassName)" because the return value of "dagger.spi.shaded.androidx.room.compiler.processing.XProcessingEnv.findTypeElement(com.squareup.javapoet.TypeName)" is null

环境信息:

  • JetBrains Runtime 17
  • Kotlin 1.8.0
  • Android Gradle Plugin 7.2.2
  • Hilt 2.48

可行解决方案

1. 升级Hilt版本修复兼容性问题

Hilt 2.48存在注解处理器空指针bug,升级到2.48.1或更高版本可解决该问题,同时建议适配Kotlin版本升级Android Gradle Plugin:

  • 根项目build.gradle修改Hilt版本:
dependencies {
    classpath 'com.google.dagger:hilt-android-gradle-plugin:2.48.1'
    // 可选:将Android Gradle Plugin升级到适配Kotlin 1.8.0的7.4.2版本
    classpath 'com.android.tools.build:gradle:7.4.2'
}

//hilt
hiltCompiler: 'com.google.dagger:hilt-android:2.48.1',
hiltKapt: 'com.google.dagger:hilt-android-compiler:2.48.1'

2. 禁用KAPT Worker API

部分场景下KAPT Worker API会导致注解处理器冲突,在应用模块build.gradle中添加:

kapt {
    useWorkerApi = false
}

3. 排除Hilt与Realm的依赖冲突

Realm插件与Hilt依赖的room-compiler可能存在冲突,在kapt依赖中排除冲突模块:

kapt(dmaDependencies.hiltKapt) {
    exclude group: 'androidx.room', module: 'room-compiler'
}

4. 清理构建缓存

执行以下命令清理缓存后重新构建:

./gradlew clean assemblePreprod

5. 统一Java编译配置

在项目根目录gradle.properties中添加配置,确保编译环境一致性:

android.jetifier.blacklist=androidx.room:room-compiler
org.gradle.jvmargs=-Xmx2048m

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 09:09:57