【Hilt】更新Hilt版本后找不到ApplicationComponent

  • Post author:
  • Post category:其他




问题:

在使用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()

}



版权声明:本文为guangdeshishe原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。