Я получаю ошибку [Dagger/MissingBinding]
и не могу понять, почему эта ошибка.
Вот полный стек ошибок:
ошибка: [Dagger / MissingBinding]Файл java.io.File нельзя предоставить без конструктора @Inject или метода, аннотированного @ Provides.java.io.File внедряется в service.KeyStoreService (keyStoreFile) service.KeyStoreService внедряется в di.Module.WalletRepositoryModule.getWalletRepository (…, keyStoreService) repository.WalletRepositoryWterface *.
Следующие другие точки входа также зависят от этого: dagger.android.AndroidInjector.inject (T) [di.component.ApplicationComponent?di.Module.BindModule_BindStartModule.StartActivitySubcomponent] dagger.android.AndroidInjector.inject (T) [di.component.ApplicationComponent?di.Module.BindModule_BindAddWalletActivity.AddWalletActivitySubcomponent]
Класс KeyStoreService:
public class KeyStoreService implements KeyStoreServiceInterface {
private final KeyStore keyStore;
@Inject
public KeyStoreService(File keyStoreFile) {
keyStore = new KeyStore(keyStoreFile.getAbsolutePath(), Geth.LightScryptN, Geth.LightScryptP);
}
}
Класс WalletRepositoryModule:
@Module
public class WalletRepositoryModule {
@Provides
@ApplicationScope
WalletRepositoryInterface getWalletRepository(SharedPreferencesHelper sharedPreferencesHelper, KeyStoreService keyStoreService){
return new WalletRepository(sharedPreferencesHelper, keyStoreService);
}
}
ApplicationComponent класс:
Все остальные модули работают.Только после добавления WalletRepositoryModule я получил эту ошибку.Есть предложения?