Android Dagger не строит - PullRequest
       45

Android Dagger не строит

0 голосов
/ 06 мая 2019

Я уже добавил Dagger в свое приложение.Теперь после обновления Android studio и проекта, обновленного до последней версии AndroidX, возникает следующая ошибка.

error: [RefersToDaggerCodegen] Don't refer to Dagger's internal or generated code
(see https://errorprone.info/bugpattern/RefersToDaggerCodegen)

Как устранить эту ошибку сборки.

Редактировать: я пытаюсь ввести кинжалкак показано ниже

((App) appContext).getApplicationComponent().inject(this);

И внутри интерфейса

@SuppressWarnings({"RefersToDaggerCodegen"})
@Singleton
@Component(modules = {
    ApplicationModule.class,
    DatabaseModule.class,
    NetworkModule.class,
    QuranDataModule.class,
    QuranPageModule.class } )
public interface ApplicationComponent {
     @SuppressWarnings("RefersToDaggerCodegen")
      void inject(QuranDataProvider quranDataProvider);

Редактировать 2 Я инициализировал компонент следующим образом:

 @SuppressWarnings("RefersToDaggerCodegen")
  protected ApplicationComponent initializeInjector() {
    return DaggerApplicationComponent.builder()
        .applicationModule(new ApplicationModule(this))
        .build();
  }

Все еще сталкиваюсь с той же проблемой.

1 Ответ

0 голосов
/ 09 мая 2019

Проблема с моим проектом в том, что я использую старую версию кинжала, не слишком старую, но не последнюю.Поэтому я обновил версию kotlin и версию Dagger до

kotlinVersion = '1.3.31'
daggerVersion = '2.15'

И в ваших gradle-wrapper.properties обновите URL-адрес дистрибутива, как показано ниже

distributionUrl=https\://services.gradle.org/distributions/gradle-5.2-all.zip

И, наконец, обновите версию errorproneтакже

classpath "net.ltgt.gradle:gradle-errorprone-plugin:0.8"

Я сделал все вышеописанные шаги.Теперь я могу успешно построить свое приложение.

Спасибо за помощь @ EpicPandaForce

...