В моем проекте android я использую модуль библиотеки AAR, который я написал, и для проекта, и для библиотеки Dagger для внедрения зависимостей.
В моем проекте я используйте библиотеку следующим образом:
fun useLibrary() {
startActivityForResult(
Intent(
this,
LibraryActivity::class.java
),
A_REQUEST_CODE
)
}
, но когда я запускаю свое приложение, у меня появляется ошибка:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mypackage.android.myproject/com.mypackage.aMyLib.LibraryActivity}: java.lang.IllegalArgumentException: No injector factory bound for Class<com.mypackage.aMyLib.LibraryActivity>
EDIT
Это код кинжала внутри моей библиотеки:
@Singleton
@Component(
modules = [
AndroidInjectionModule::class,
AndroidSupportInjectionModule::class,
ActivityBuilder::class,
AppModule::class
]
)
interface AppComponent : AndroidInjector<MyApp> {
@Component.Builder
interface Builder {
@BindsInstance
fun application(application: Application): Builder
fun build(): AppComponent
}
override fun inject(application: MyApp)
}
@Module
abstract class ActivityBuilder {
@ContributesAndroidInjector(
modules = [
AppModule::class
]
)
abstract fun bindLibraryActivity(): LibraryActivity
}
@Module
class AppModule {
@Provides
fun provideContext(application: Application) = application as Context
}
Что я пропустил?