问题:
在使用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 版权协议,转载请附上原文出处链接和本声明。