Я новичок в котлине и кинжале. У меня есть небольшая проблема, которую я не могу решить и не нахожу решения.
Так вот что у меня есть:
@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
dagger, сгенерируйте de class без каких-либо проблем.
Еще я искал решение - создать другой класс с той же структурой и импортировать DaggerAppComponent
в качестве внутреннего объекта, и я получил тот же результат.
Я не знаю, что иметь инициализацию компонента снаружи. Итак, есть ли другое альтернативное решение, или что я делаю не так?
kapt 'com.google.dagger:dagger-compiler:2.0.2'
в build.gradle? - person Deividi Cavarzan   schedule 20.12.2015apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt'
и зависимостейimplementation "com.google.dagger:dagger:$dagger_version" implementation "com.google.dagger:dagger-android:$dagger_version" implementation "com.google.dagger:dagger-android-support:$dagger_version" kapt "com.google.dagger:dagger-compiler:$dagger_version" kapt "com.google.dagger:dagger-android-processor:$dagger_version"
- person Devishankar   schedule 13.12.2017