Accepted answer

is the property that hasn't been initialized happening in the app class? if so, this likely means that you're missing the following in the oncreate method of the app class.



in your application class you define an @inject property, but you don't initialize it anywhere. what you need to do is: first declare app as the entry point for dagger-android purposes:

interface appcomponent : androidinjector<app> {

    interface factory {
        fun create(@bindsinstance application: app): appcomponent

    fun inject(app: app) // let dagger know your application class with root dispatching injector

and then actually create the appcomponent instance and use it to bootstrap dagger and inject dispatchingandroidinjector instance:

override fun oncreate() {
  this.application = this


Related Query

More Query from same tag