1

我一直在尝试在我的应用程序中包含 Dagger 最新版本 dagger-android:2.11。但是,没有生成像 DaggerAppComponent 这样的 Daggerclaase。

以下是我的应用级别 gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"
    defaultConfig {
        applicationId "net.maskery.android.lab.lawyerapp"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    configurations.all {
        resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9'
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.android.support:design:25.3.1'
    testCompile 'junit:junit:4.12'
    compile 'com.google.dagger:dagger-android:2.11'
    annotationProcessor 'com.google.dagger:dagger-android-processor:2.11'
}

我的组件界面

@Component(modules = {AppModule.class})
public interface AppComponent {

    void inject(MainActivity mainActivity);
}

我的模块类

@Module
public class AppModule {

    private LawyerApp app;

    public AppModule(LawyerApp app) {
        this.app = app;
    }


    @Provides public Context providesContext(){
        return app;
    }

    @Provides public Resources providesResources(){
        return app.getResources();
    }

}

该应用程序正在正确构建,但是当我尝试创建 AppComponent 对象时,DaggerAppComponent 只是不可用。

我在设置中启用了注释处理,然后才创建了这个应用程序。

我也试过'com.neenbedankt.android-apt'插件。这对我也不起作用。

这对我来说就像在这里尝试的任何选项一样。请帮忙。

4

0 回答 0