error: cannot find symbol public abstract interface AppComponent extends dagger.android.AndroidInjector<EmsApplication>

error: cannot find symbol public abstract interface AppComponent extends dagger.android.AndroidInjector<EmsApplication>

你好我是匕首新手。我正在努力学习,但在生成 AppComponent class 时遇到问题。这是我的 AppComponent class 代码。我在 Whosebug 中搜索了一些答案,但 none 没有工作。

import EmsApplication
import android.app.Application
import com.example.emsapplication.utils.SessionManager
import dagger.BindsInstance
import dagger.Component
import dagger.android.AndroidInjector
import dagger.android.support.AndroidSupportInjectionModule
import javax.inject.Singleton

@Singleton
@Component(modules = \[AndroidSupportInjectionModule::class, ActivityBuildersModule::class, AppModule::class, ViewModelFactoryModule::class\])
interface AppComponent : AndroidInjector<EmsApplication>{
    fun sessionManager(): SessionManager?

    @Component.Builder
    interface Builder {
        @BindsInstance
        fun application(application: Application?): Builder?

        fun build(): AppComponent?
    }
}
error: cannot find symbol public abstract interface AppComponent extends dagger.android.AndroidInjector<EmsApplication>

这里是构建事件的输出。

尝试将您的代码更改为。

interface AppComponent : AndroidInjector<EmsApplication> {
 fun sessionManager(): SessionManager?
 @Component.Builder
 interface Builder {
      @BindInstance
      fun application(application: EmsApplication): Builder
      fun build():AppComponent

}

你能提供更多相关信息吗?你的 Ems 应用程序。它也会有帮助。

我花了 6 个小时才找出一个愚蠢的错误,希望这个答案能帮助您。

  • 就我而言,我没有在我的申请中提供我的包裹class。
  • 请确保您还在每个 classes 中提供您的包裹名称。