Dagger2错误:如果没有@Inject构造函数或@Provides注释的方法,则无法提供LoginUI

问题描述

将项目迁移到AndroidX时遇到问题,并在项目中添加了Kotlin。

当我使用Kapt并运行项目时,出现此异常:

[Dagger / MissingBinding]如果没有@Inject构造函数或@Provides注释的方法,则无法提供LoginUI。此类型支持成员注入,但不能隐式提供。

这是我的代码:

MyApplicationComponent

@Component(modules = {AndroidInjectionModule.class,ActivityModule.class,FragmentModule.class,......})
@AccountCore
@Singleton
public interface MyApplicationComponent extends AndroidInjector<App> {

    AccountComponent.Builder getAccountComponent();

    SprintComponent.Builder getSprintComponent();

    void inject(App app);
}

ActivityModule

@Module(includes = {AccountViewModule.class,.......})
public abstract class ActivityModule {

}

AccountViewModule

@Module(includes = {xxxx.class,xxx.class})
public abstract class AccountViewModule {

     @Binds
    abstract LoginPresenter provideLoginPresenter(LoginPresenterImpl presenter);

    @ContributesAndroidInjector()
    public abstract LoginUI provideLoginUI();

    @Binds
    public abstract AccountView.LoginView provideLoginView(LoginUI loginUI);
}

LoginUI

public class LoginUI extends DaggerActivity {
    @Inject
    LoginPresenter accountPresenter;
}

LoginPresenterImpl

public class LoginPresenterImpl extends AccountPresenter implements LoginPresenter {
    @Inject
    AccountClient accountClient;

    @Inject
    AccountView.LoginView loginView;

    @Inject
    AccountModel accountModel;
}
 ext{
        buildToolsVersion = "29.0.2"
        supportVersion = "29.0.2"
        compileSdkVersion = 28
        minSdkVersion = 18
        targetSdkVersion = 28
        lifecycleVersion = "1.1.1"

        daggerVersion = "2.28.3"
        rxJavaVersion = "1.2.1"
        okHttpVertion = "3.9.1"
        retrofitVersion = "2.1.0"
        kotlin_version = "1.3.72"
        gradle_version = "3.1.4"
        glide_version = "4.11.0"
    }


    implementation 'com.google.dagger:dagger:' + daggerVersion
    implementation 'com.google.dagger:dagger-android:' + daggerVersion
    implementation 'com.google.dagger:dagger-android-support:' + daggerVersion
    kapt 'com.google.dagger:dagger-android-processor:' + daggerVersion
    kapt 'com.google.dagger:dagger-compiler:' + daggerVersion

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...