找不到符号 return DaggerApplication_HiltComponents_SingletonC.builder()

Cannot find symbol return DaggerApplication_HiltComponents_SingletonC.builder()

我今天早上切换到 Hilt 依赖注入。一切都完成后,我坚持这个:

error: cannot find symbol return DaggerMyApplication_HiltComponents_SingletonC.builder() ^ symbol: variable DaggerMyApplication_HiltComponents_SingletonC

我确实尝试自己寻找解决方案,我找到了 ,但我已经添加了所有模块的 build.gradle 如果我做错了,请看看我的。

我的申请:

@HiltAndroidApp
class MyApplication : MultiDexApplication() 

项目Gradle:

dependencies {
    classpath 'com.android.tools.build:gradle:4.1.3'
    classpath 'com.google.gms:google-services:4.3.5'
    classpath 'com.google.dagger:hilt-android-gradle-plugin:2.34-beta'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

应用Gradle:

implementation 'com.google.dagger:hilt-android:2.34-beta'
kapt 'com.google.dagger:hilt-compiler:2.34-beta'
implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03"
kapt 'androidx.hilt:hilt-compiler:1.0.0-beta01'

谢谢大家

我终于找到问题所在了。这是因为我错误地使用了@GlideModule:

@GlideModule
class Glide4Engine @Inject constructor(
   private val context:Context
): AppGlideModule() {
}

所以,我必须用另一种方式来做:

@GlideModule
class Glide4Engine : AppGlideModule() {
    // Empty
}

并创建其他 class:

class MyGlide @Inject constructor(
    private val context: Context
) {
  //// Things
}

如果您遇到这样的问题,希望它能对您有所帮助 ;)

在我的例子中,这个错误是由 androidx.hilt:hilt-lifecycle-viewmodel 依赖性

引起的

根据 Dagger Hilt Github 评论:

implementation "androidx.hilt:hilt-lifecycle-viewmodel"
kapt "androidx.hilt:hilt-compiler"

应该删除。

this, also this