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

使用@WorkerInject注入Worker时出现未解析引用错误如何解决

问题原因
  • 依赖版本不兼容:你当前使用的Dagger Hilt核心版本2.38.1和androidx.hilt:hilt-work:1.0.0版本不匹配,hilt-work 1.0.0要求最低配合Dagger Hilt 2.40及以上版本使用,低版本核心库没有对@WorkerInject注解的对应支持逻辑,会直接触发未解析引用错误。
  • 缺少必要的Gradle插件配置:如果未在模块级build.gradle中开启kotlin-kapt插件和Dagger Hilt安卓插件,注解处理器无法正常识别@WorkerInject注解。
  • 未手动导入对应注解包:IDE不会在所有场景下自动导入androidx.hilt.work.WorkerInject包路径,缺少导入语句会直接触发未解析引用报错。
  • 未开启Hilt全局注入配置:Application类没有添加@HiltAndroidApp注解的情况下,Hilt的注入相关注解都无法正常生效。
解决方案
  1. 统一依赖版本,将Dagger Hilt核心版本升级到和hilt-work适配的2.40及以上稳定版本,示例配置如下:
def hilt_version = '2.44'
implementation "com.google.dagger:hilt-android:$hilt_version"
kapt "com.google.dagger:hilt-android-compiler:$hilt_version"
def hilt_worker_version = '1.0.0'
implementation "androidx.hilt:hilt-work:$hilt_worker_version"
kapt "androidx.hilt:hilt-compiler:$hilt_worker_version"
  1. 确认模块级build.gradle顶部已经添加了必要的插件:
plugins {
    id 'com.android.application' // 若为库模块则改为com.android.library
    id 'org.jetbrains.kotlin.android'
    id 'kotlin-kapt'
    id 'dagger.hilt.android.plugin'
}
  1. 确认项目级build.gradle中已经添加了Hilt插件的classpath依赖:
buildscript {
    dependencies {
        def hilt_version = '2.44'
        classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"
    }
}
  1. 在你的Worker类文件顶部手动添加@WorkerInject的导入语句:
import androidx.hilt.work.WorkerInject
import dagger.assisted.Assisted
import androidx.work.Worker
import androidx.work.WorkerParameters
import android.content.Context
  1. 确保你的自定义Application类添加了@HiltAndroidApp注解:
@HiltAndroidApp
class MyApp : Application() {
    // 自定义逻辑
}
  1. 同步Gradle配置后,执行Build -> Clean Project再执行Rebuild Project即可解决报错。

内容的提问来源于stack exchange,提问作者André Nogueira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 18:54:00