我的android应用程序构建失败hilt,workmanager

hmae6n7t  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(407)

我正试图按照参考资料从dagger2迁移到hilt:https://developer.android.com/training/dependency-injection/hilt-jetpack#workmanager
但当我构建我的应用程序时,它会失败,并出现以下错误日志:

/Users/.../myapp/build/tmp/kapt3/stubs/devDebug/.../MyWorker.java:13: error: incompatible types: NonExistentClass cannot be converted to Annotation
@error.NonExistentClass()
^

这是第13行:

line 11    @error.NonExistentClass()
line 12    public MyWorker(@org.jetbrains.annotations.NotNull()
line 13    @error.NonExistentClass()
line 14    android.content.Context appContext, @org.jetbrains.annotations.NotNull()
line 15    @error.NonExistentClass()
line 16    androidx.work.WorkerParameters params, @org.jetbrains.annotations.NotNull()

我不知道我该怎么修复它。。。
我使用的版本是:

// kotlin
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.5.21"
implementation "org.jetbrains.kotlin:kotlin-reflect:1.5.21"

// Hilt
implementation "com.google.dagger:hilt-android:2.35"
kapt "com.google.dagger:hilt-android-compiler:2.35"
implementation 'androidx.hilt:hilt-work:1.0.0'
kapt 'androidx.hilt:hilt-compiler:1.0.0'

// WorkManager
implementation "androidx.work:work-runtime-ktx:2.5.0"
implementation "androidx.work:work-rxjava2:2.5.0"

这些版本是最新和稳定的版本。
我试图添加下面的渐变设置,但它是相同的错误。。。

kapt {
    correctErrorTypes true
}
s3fp2yjn

s3fp2yjn1#

呜呜呜呜。。。。。
我找到了原因。。。
我很抱歉。。。
我是韩国人,所以我一直在看韩语版的指导文件:https://developer.android.com/training/dependency-injection/hilt-jetpack
但是我发现它太旧了!
它指导使用 @WorkerInject 韩文版,但它指导使用 @AssistedInject 在英文版本中。。。
当我更改它时,错误消失了。。。

相关问题