web-dev-qa-db-fra.com

L'application n'implémente pas dagger.Android.HasDispatchingActivityInjector

J'ai une sous-classe d'application que je suis conforme à HasDispatchingActivityInjector, mais lorsque j'essaie d'exécuter mon application, elle se bloque, disant:

Unable to start activity ComponentInfo{com.test.testing/com.test.testing.ui.main.MainActivity}: Java.lang.RuntimeException: Android.app.Application does not implement dagger.Android.HasDispatchingActivityInjector

Voici ma sous-classe d'application:

class MyApplication : Application(), HasDispatchingActivityInjector {

@Inject
lateinit var dispatchingAndroidInjector: DispatchingAndroidInjector<Activity>

override fun onCreate() {
    super.onCreate()

    DaggerAppComponent.create().inject(this)
}

override fun activityInjector(): DispatchingAndroidInjector<Activity> {
    return dispatchingAndroidInjector
}

Quelqu'un d'autre a-t-il déjà rencontré cette erreur?

Merci

16
Jordan

C'est parce que je n'avais pas ajouté la clé Android: name avec la valeur de ma sous-classe Application à mon fichier manifeste.

62
Jordan

Ajouter Android:name=".MyApplication" dans votre manifeste sous la balise d'application. Remplacez "MyApplication" par le nom de votre classe d'application

2