Dagger从版本11迁移到12时出现错误-Android Java

时间:2020-06-05 11:15:46

标签: java android dagger-2 android-databinding dagger

以下内容将com.google.dagger:dagger:2.11升级到com.google.dagger:dagger:2.12时出现错误。即使升级Firebase,也会出现相同的错误。

@Provides
@ActivityScope
public DashboardPresenter provideDashboardPresenter(
        final DashboardView dashboardView,
        final Map<Integer, SampleDashboardPresenter> presenterMap,
        final Map<Integer, SampleDashboardView> viewMap
) {
    return new DashboardPresenter(
            dashboardView,
            presenterMap,
            viewMap
    );
}

@Provides
@ActivityScope
@IntoMap
@IntKey(DashboardConstants.FIRST_POSITION)
public SampleDashboardPresenter provideFirstPresenter(
        final GetSampleUseCase getSampleUseCase
) {
    return new FirstPresenter(
           getSampleUseCase
    );
}

 @Provides
@ActivityScope
@IntoMap
@IntKey(DashboardConstants.FIRST_POSITION)
public SampleDashboardView provideFirstView() {
    return new FirstViewImpl(dashboardActivity, R.layout.view_first);
}

error: cannot find symbol
          MapFactory.create(mapOfIntegerAndProviderOfSampleDashboardPresenterProvider);
                    ^
  symbol:   method create(Provider<Map<Integer,Provider<SampleDashboardPresenter>>>)
  location: class MapFactory

error: cannot find symbol
      MapFactory.create(mapOfIntegerAndProviderOfSampleDashboardViewProvider);
symbol:   method create(Provider<Map<Integer,Provider<SampleDashboardView>>>)
location: class MapFactory

我们将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

将匕首升级到以下内容可以解决此问题:

    annotationProcessor 'com.google.dagger:dagger-compiler:2.28'
    implementation 'com.google.dagger:dagger:2.28'

谢谢