HasActivityInjector не может быть решен в Android Dagger 2 - PullRequest
0 голосов
/ 23 октября 2018

Я пытался реализовать HasActivityInjector в моем приложении для Android, но он показывает, что HasActivityInjector не может быть решен.Ниже приведены зависимости и плагин, который я использовал в своем проекте -

apply plugin: 'kotlin-kapt'

и

implementation 'com.google.dagger:dagger:2.16'
kapt 'com.google.dagger:dagger-compiler:2.16'

Вот код, который я пытаюсь -

class RanoBoilerplateApplication : Application(), HasActivityInjector{
    @Inject
    lateinit var activityDispatchingAndroidInjector:
            DispatchingAndroidInjector<Activity>

    override fun onCreate() {
        super.onCreate()

        DaggerAppComponent.builder()
                .application(this)
                .build()
                .inject(this)
    }

    override fun activityInjector(): AndroidInjector<Activity> =
            activityDispatchingAndroidInjector
}

Я неНе знаю, какие еще зависимости я должен включить, чтобы работать, помоги мне, если кто-то делал это раньше.

Найдите последнюю версию Dagger 2 здесь .

Happyкодирование :-)

Ответы [ 3 ]

0 голосов
/ 23 октября 2018

HasActivityInjector был представлен в новом модуле поддержки Android для кинжалов. Включите следующую зависимость в ваш файл build.gradle .

kapt "com.google.dagger:dagger-android-processor:2.18"
implementation "com.google.dagger:dagger-android-support:2.18"
0 голосов
/ 21 августа 2019

На случай, если кто-нибудь придет после обновления до 2.24, это будет удалено: https://github.com/google/dagger/commit/3bd8f707cb28fd0c5f3abb4f87658566f8b52c10.

Вместо него можно использовать HasAndroidInjector.

0 голосов
/ 23 октября 2018

Мои зависимости выглядят так:

//Dagger
implementation "com.google.dagger:dagger:${libs.dagger}"
implementation "com.google.dagger:dagger-android:${libs.dagger}"
implementation "com.google.dagger:dagger-android-support:${libs.dagger}"
kapt "com.google.dagger:dagger-compiler:${libs.dagger}"
kapt "com.google.dagger:dagger-android-processor:${libs.dagger}"

support нужна, если вы используете appcompat.И ${libs.dagger} относится к необходимой версии кинжала (например, 2.16).Подробнее о зависимостях здесь .

...