Hilt(Android):找不到符号返回DaggerApp_HiltComponents_ApplicationC.builder()

问题描述 投票:0回答:6

我尝试用 Hilt 替换 Koin(坏主意)来进行 DI,但现在我遇到了这个错误: Hilt_App.java:21:错误:找不到符号 返回 DaggerApp_HiltComponents_ApplicationC.builder() ^ 符号:变量 DaggerApp_HiltComponents_ApplicationC

这是什么?怎么解决?

android dependency-injection koin
6个回答
35
投票

我收到了同样的错误消息。 我的问题是我有一个旧的/已弃用的 gradle 依赖项。 确保从您的 gradle 文件中删除以下依赖项:

/* DELETE this dependency */
implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03"

11
投票

如果您正在开发模块化项目,请注意依赖性!

例如,如果您的

retrofit
模块中有
data
依赖项,甚至
data
模块中的
implemented
模块
app
,您也必须添加
retrofit
依赖项或使它们与
api
可访问
app
模块。


2
投票

对于那些有同样错误但没有错过任何依赖项的人。我遇到了这个问题,因为我忘记用“@Inject构造函数”注释一个类。我这样做之后,一切又恢复正常了。


1
投票

如评论中所回答。问题是,当使用 Jetpack 集成时,如此处针对 ViewModel https://developer.android.com/training/dependency-injection/hilt-jetpack 所解释的那样,您还必须在主应用程序模块中添加这些依赖项(而不是仅在您实际使用 ViewModel 的模块中)。

例如,如果功能模块的 build.gradle 文件中有以下内容:

    implementation "com.google.dagger:hilt-android:$hilt_version"
    kapt "com.google.dagger:hilt-android-compiler:$hilt_version"
    implementation "androidx.hilt:hilt-lifecycle-viewmodel:$hilt_lifecycle"
    kapt "androidx.hilt:hilt-compiler:1.0.0-alpha02"

确保将它们也添加到应用程序的 build.gradle 文件中


0
投票

我遇到了这个问题并使用这些依赖项:

implementation "com.google.dagger:hilt-android:$hiltVersion"
kapt "com.google.dagger:hilt-android-compiler:$hiltVersion"
kapt "androidx.hilt:hilt-compiler:$hiltAndroidXVersion"

https://medium.com/gradeup/dependency-injection-dagger-hilt-vs-koin-ab2f7f85e6c6


0
投票

就我而言,我忘记在类的顶部添加 com.xxx.xxx.. 包!!

我花了两天时间试图解决这个问题:(

© www.soinside.com 2019 - 2024. All rights reserved.