Kha*_*dov 26 android dagger-hilt
当我在 android 中使用 Hilt 时 Room我遇到了这个错误。
完整的日志在这里:
home/someone/Desktop/Calculator/app/build/tmp/kapt3/stubs/debug/com/hamidjonhamidov/calculator/MyApplication.java:7: error: [Hilt]
public class MyApplication extends android.app.Application {
^
Expected @HiltAndroidApp to have a value. Did you forget to apply the Gradle Plugin?
[Hilt] Processing did not complete. See error above for details./home/someone/Desktop/Calculator/app/build/tmp/kapt3/stubs/debug/com/hamidjonhamidov/calculator/ui/main/MainActivity.java:7: error: [Hilt]
Run Code Online (Sandbox Code Playgroud)
任何人都知道解决方案吗?
小智 48
将 Kotlin 升级到 1.5.20 后,我遇到了这个问题。在 gradle.properties 中
添加kapt.use.worker.api=false对我有用的问题
Checkout dagger 问题Support for Kotlin 1.5.20
Kha*_*dov 32
幸运的是,有一个简单的解决方案。在build.gradle数据库方案中,我们应该使用arguments +=代替arguments =。
defaultConfig{
javaCompileOptions {
annotationProcessorOptions {
arguments += ["room.schemaLocation": "$projectDir/schemas".toString()]
}
}
}
Run Code Online (Sandbox Code Playgroud)
或者/在buld.gradle
你应该应用插件,如:
apply plugin 'dagger.hilt.android.plugin'
这解决了问题)
Ali*_*rei 19
将 Hilt 升级到 v28.1.0 并将 Kotlin 升级到 v1.5.21 应该可以解决这个问题
如果您使用的是 kotlin 1.5.20,Mr-wil如官方文档中所述,答案将降低构建速度:
要提高使用 kapt 的构建速度,您可以为 kapt 任务启用 Gradle worker API。使用 worker API 可以让 Gradle 并行运行来自单个项目的独立注释处理任务,这在某些情况下会显着减少执行时间。
相反,设置:
kapt {
javacOptions {
// These options are normally set automatically via the Hilt Gradle plugin, but we
// set them manually to workaround a bug in the Kotlin 1.5.20
option("-Adagger.fastInit=ENABLED")
option("-Adagger.hilt.android.internal.disableAndroidSuperclassValidation=true")
}
}
Run Code Online (Sandbox Code Playgroud)
小智 18
我遇到了同样的问题,似乎 kotlin-kapt 插件有问题。如果你们已经尝试了上述所有答案但没有得到解决,请在您的build.gradle(module-level) 中的 dependency{} 块之外尝试以下代码
kapt {
javacOptions {
option("-Adagger.hilt.android.internal.disableAndroidSuperclassValidation=true")
}
}
Run Code Online (Sandbox Code Playgroud)
gol*_*992 11
在许多情况下也可能出现此一般错误消息。作为更通用的检查,请确保您的模块build.gradle文件具有:
apply plugin: 'dagger.hilt.android.plugin'
在顶部。
在 Android Gradle 模块的 build.gradle 中应用插件:
apply plugin: 'com.android.application'
apply plugin: 'dagger.hilt.android.plugin'
android {
// ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8035 次 |
| 最近记录: |