Hilt更新Hilt版本后找不到ApplicationComponent

Posted guangdeshishe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hilt更新Hilt版本后找不到ApplicationComponent相关的知识,希望对你有一定的参考价值。

问题:

在使用Hilt单例的时候,我们一般需要在Module上添加注解@InstallIn(ApplicationComponent::class),例如:

@InstallIn(ApplicationComponent::class)
@Module
class HttpModule 

    @Singleton
    @Provides
    fun provideHttpObject() = HttpObject()


但是当Hilt升级到2.31以及之后的版本之后,会发现已经不支持ApplicationComponent了,找不到该类

原因:

ApplicationComponent 在 Dagger 2.30版本中已经标记过时了
ApplicationComponent 在 Dagger 2.31版本中就已经被移除了

解决办法:

使用SingletonComponent代替ApplicationComponent,修改后的代码如下:

@InstallIn(SingletonComponent::class)
@Module
class HttpModule 

    @Singleton
    @Provides
    fun provideHttpObject() = HttpObject()


以上是关于Hilt更新Hilt版本后找不到ApplicationComponent的主要内容,如果未能解决你的问题,请参考以下文章

找不到`activityViewModels()` Hilt Android

我收到“循环依赖”Android Dagger Hilt 错误

社区说|Hilt 和 Kotlin Flow 在 Android 程序架构实现中的应用

Hilt 工作原理 | MAD Skills

Hilt 扩展 | MAD Skills

Hilt 初探