繁体   English   中英

我的 Android 应用程序构建失败 Hilt、WorkManager

[英]My Android app builds failed Hilt, WorkManager

我正在尝试按照参考从 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"

这些版本是最新的稳定版本。


我尝试添加以下 Gradle 设置,但它是相同的错误...

kapt {
    correctErrorTypes true
}

呜呜呜呜……

我找到了原因...

对不起大家...

我是韩国人,所以一直在看这个韩文版的指导文档: https : //developer.android.com/training/dependency-injection/hilt-jetpack

但我发现它太旧了!

它指导使用@WorkerInject在韩国版本,但它指导使用@AssistedInject在英语版本...

当我更改它时,错误消失了......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM