Я работаю над проектом, в котором старый кинжал реализован на базе кода. Сегодня я пытаюсь оптимизировать реализацию кинжала до версии 2.2. Поскольку вы знаете, что Google обновил библиотеку кинжалов, чтобы упростить ее реализацию в android, существуют некоторые вспомогательные классы, такие как классы Dagger Activity, Dagger Application и Dagger Fragment.
Я обновил библиотеку, но я застрял на ошибке, сказав, что
error: [ComponentProcessor:MiscError]
dagger.internal.codegen.ComponentProcessor was unable to process this
interface because not all of its dependencies could be resolved. Check
for compilation errors or a circular dependency with generated code.
public abstract interface NewAppComponent extends
dagger.android.AndroidInjector<com.mallconnect.tdm.TDMApplication> {
NewAppComponent
@Singleton
@Component(modules = [AndroidSupportInjectionModule::class,
ActivityBuilderModule::class,
AppModule::class,
RoomModule::class,
RetrofitModule::class,
MappedInModule::class,
ViewModelFactoryModule::class
])
interface NewAppComponent : AndroidInjector<TDMApplication> {
/**
* Session manager can be access any where in the application
*/
fun sessionManager(): SessionManager
@Component.Builder
interface Builder {
/**
* [BindsInstance] annotation is used for, if you want to bind particular object or instance
* of an object through the time of component construction
*
* @param application The application instance
*
* @return The Builder
*/
@BindsInstance
fun application(application: Application): Builder
/**
*
* @return the AppComponent
*/
fun build(): NewAppComponent
}
}
ActivityBuilderModule
@Module
public abstract class ActivityBuilderModule {
@ContributesAndroidInjector(modules = {MainFragmentBuildersModule.class,
MainViewModelsModule.class})
abstract Main contributeMainActivity();
@ContributesAndroidInjector(modules = {AuthViewModel.class})
abstract BaseActivity contributeBaseActivity();
}
У меня есть проверил некоторые сообщения StackOverflow, но я не нашел решения
Ошибка круговой зависимости Dagger2
Dagger 2.15: Appcomponent - не удалось обработать этот интерфейс
Как мы можем отследить источник ошибки?