未使用@绑定匕首的方法

我有以下定义的Splash屏幕活动:

@Subcomponent(modules = arrayOf( SplashActivitySubcomponent.ComponentModule::class) ) interface SplashActivitySubcomponent : AndroidInjector { @Subcomponent.Builder abstract class Builder : AndroidInjector.Builder() @Module abstract class ComponentModule { @Binds @IntoMap @ActivityKey(SplashActivity::class) abstract fun bindSplashActivityInjectorFactory(builder: SplashActivitySubcomponent.Builder): AndroidInjector.Factory } } 

我在活动中没有片段。 会发生什么是bindSplashActivityInjectorFactory未使用。 问题是我无法摆脱它,否则应用程序在运行时崩溃。

使用

 @Suppress("unused") 

是不够的,因为我仍然从kotlin-lint得到警告。 为什么在不使用时需要定义这个方法? 我能做些什么来避免这种警告?

这是我得到的错误:

UnnecessaryAbstractClass – [ComponentModule] at com / xxxx / splash / di / SplashActivitySubcomponent.kt:20:5

OptionalAbstractKeyword – [bindSplashActivityInjectorFactory] ​​at com / xxxx / splash / di / SplashActivitySubcomponent.kt:22:9

现在我解决了这个问题:

 @Subcomponent(modules = arrayOf(SplashActivitySubcomponent.ComponentModule::class)) interface SplashActivitySubcomponent : AndroidInjector { @Subcomponent.Builder abstract class Builder : AndroidInjector.Builder() @Module @Suppress("UnnecessaryAbstractClass", "OptionalAbstractKeyword") abstract class ComponentModule { @Suppress("unused") @Binds @IntoMap @ActivityKey(SplashActivity::class) abstract fun bindSplashActivityInjectorFactory(builder: SplashActivitySubcomponent.Builder): AndroidInjector.Factory } } 

所以我只是补充说:

 @Suppress("UnnecessaryAbstractClass", "OptionalAbstractKeyword")