Кинжал и Котлин. Кинжал не генерирует классы компонентов
Я новичок с Котлин и Даггер. У меня есть небольшая проблема, которую я не могу решить, и я не могу найти решение.
Так вот что у меня
@Module
class AppModule (app: Application) {
private var application: Application;
init {
this.application = app;
}
@Provides fun provideApplication(): Application? {
return application;
}
@Provides fun provideResources(): Resources? {
return application.resources;
}
}
@Singleton
@Component(modules = arrayOf(AppModule::class))
interface AppComponent: AppComponentBase {
public class Initializer {
private constructor(){}
companion object {
fun Init(app: Application): AppComponent? {
return DaggerAppComponent.builder().appModule(AppModule(app)).build()
}
}
}
}
AppComponentBase
: Этот интерфейс содержит все методы, необходимые для этого компонента.
Теперь проблема в том, что этоDaggerAppComponent
класс не генерируется Dagger, если я делаю этоDaggerAppComponent.builder().appModule(AppModule(app)).build()
вызов в пределахcompanion object
, Если вызывать ту же строку, любые были поcompanion object
Кинжал генерирует де класс без проблем.
Еще одна вещь, которую я искал для решения проблемы - это создать другой класс с такой же структурой и импортироватьDaggerAppComponent
как внутренний объект, и у меня такой же результат получился.
Мне не нужно, чтобы инициализация компонента была снаружи. Итак, есть ли другое альтернативное решение, или я что-то не так делаю?