Я пытаюсь ввести Activity, используя аннотацию android в dagger. Чтобы привязать Activity к кинжалу. Просто добавьте @ ContributeActivity в Activity, как показано ниже
@ContributesActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
И Сгенерированный класс должен быть таким, как показано ниже ..
@Module
public abstract class ThActivityInjector {
@ContributesAndroidInjector
public abstract MainActivity providesMainActivity();
}
Классы не генерируются, пока в другом проекте он работает нормально.
kapt {
arguments {
arg("generateInPackage", "com.chi.doctorapp.di")
arg("activityModuleName", "ThActivityInjector")
arg("fragmentModuleName", "ThFragmentInjector")
arg("vmModuleName", "ThViewModelInjector")
arg("viewModelKey", "com.chi.doctorapp.ViewModelKey")
}
}
и сверху
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'